Air Dock BounceHüpfende Icons im Dock von Mac OS X werden dazu verwendet, Hinweise an den Nutzer zu geben. Dies geschieht nur dann, wenn das (AIR-)Programm gerade nicht aktiv ist, der Nutzer sich also gerade in einem anderen Programm befindet. Bei einer kritischen Benachrichtigung hüpft das Icon solange, bis der User das Programm aktiviert. Ein rein informativer Hinweis lässt das Dock nur einmal hüpfen.

Das folgende AIR-Beispiel funktioniert nur auf Mac OS X und ist analog zum Beispiel AIR: Taskleiste von Windows blinken lassen, das wiederum nur für Windows funktioniert. Die beiden würden sich auch problemlos mit einer Fallunterscheidung kombinieren lassen, denn es kann überprüft werden, ob ein Dock vorhanden ist:

Actionscript:
  1. if(NativeApplication.supportsDockIcon) {
  2.         ... Mac Code
  3.     }
  4.     else {
  5.         ... Win Code
  6.     }

Das Beispiel ist so aufgebaut, dass mit dem Klick des Startbuttons ein fünfsekündiger Countdown startet. In dieser Zeit muss man das Fenster minimieren, um das Hüpfen nach Ablauf des Countdowns zu sehen.

Der Code des AIR-Programms lautet:

Actionscript:
  1. import flash.desktop.NotificationType;
  2. import flash.utils.Timer;     
  3. import flash.events.TimerEvent;
  4. import flash.desktop.DockIcon;
  5. import flash.desktop.NativeApplication;
  6.  
  7. // Timer
  8. var myTimer:Timer;
  9.  
  10. // Zahl für Countdown
  11. var num:Number;
  12.  
  13. // neuer event listener
  14. myButton.addEventListener(MouseEvent.CLICK, myButton_CLICK);
  15.  
  16. function myButton_CLICK(e:MouseEvent):void {
  17.    
  18.     // reset num
  19.     num = 5;
  20.    
  21.     // neuer Timer
  22.     var myTimer:Timer = new Timer(1000, 6);
  23.    
  24.     // event listener
  25.     myTimer.addEventListener(TimerEvent.TIMER, update);
  26.    
  27.     // timer starten
  28.     myTimer.start();
  29.    
  30.     // Hinweistext
  31.     myTextField.text = "Demonstration beginnt ...";
  32. }
  33.  
  34.  
  35.  
  36.  
  37. function update(event:TimerEvent):void {
  38.        
  39.        
  40.         if (num> 0) {
  41.             // Hinweistext
  42.             myTextField.text = "Noch " + String (num) + " Sekunden \n(Bitte Fenster ausblenden/minimieren)";
  43.            
  44.             // count down
  45.             num--;
  46.         }
  47.         else {
  48.        
  49.             // Typ der Notifaction:
  50.             // "the window icon will flash until the user brings the window to the foreground."
  51.             var type:String = NotificationType.CRITICAL;
  52.            
  53.             // NotificationType.INFORMATIONAL: the window icon will highlight by changing color.
  54.             //var type:String = NotificationType.INFORMATIONAL;   
  55.  
  56.            
  57.             //if(NativeApplication.supportsDockIcon){
  58.             var dock:DockIcon = NativeApplication.nativeApplication.icon as DockIcon;
  59.             dock.bounce(type);
  60.  
  61.            
  62.  
  63.            
  64.             myTextField.text = "Notifaction! Das Dock hüpft.";
  65.         }
  66.            
  67. }

Download: Quelldatei (.fla)
Link: Using the system tray and dock icons