Im fünften Tutorial zu Adobe AIR und Flash CS3 geht es um das Blinken oder "Highlighten" der Windows-Taskleiste.

Ein Fenster, das sich im Hintergrund befindet, kann durch Blinken der Taskbar den Nutzer daraufhinweisen, dass etwas passiert ist. Die Methode heißt notifyUser().

Es gibt es zwei unterschiedlich starke Hinweise:

  • NotificationType.CRITICAL lässt die Taskleiste solange blinken, bis der Nutzer das Fenster in den Vordergrund holt.
  • NotificationType.INFORMATIONAL ist dezenter und färbt den Eintrag des AIR-Programms in der Taskbar nur ein.

Der Aufruf der Methode auf einem Rechner, der die Methode nicht unterstützt (z.B. Mac OS X), hat keine Auswirkungen. Mit NativeWindow.supportsNotification lässt sich übrigens überprüfen, ob das Betriebssystem die Hinweisfunktion unterstützt.

Das Beispiel ist so aufgebaut, dass mit dem Klick des Buttons ein 5-sekündiger Countdown startet. Einfach in dieser Zeit das Fenster minimieren, um den Effekt nach Ablauf des Countdowns zu sehen.

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

Download: Quelldatei (.fla)
Link: Highlighting the taskbar window icon