AIR: Taskleiste von Windows blinken lassen

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.

[as]
import flash.desktop.NotificationType;
import flash.utils.Timer;
import flash.events.TimerEvent;

// Timer
var myTimer:Timer;

// Zahl für Countdown
var num:Number;

// neuer event listener
myButton.addEventListener(MouseEvent.CLICK, myButton_CLICK);

function myButton_CLICK(e:MouseEvent):void {

// reset num
num = 5;

// neuer Timer
var myTimer:Timer = new Timer(1000, 6);

// event listener
myTimer.addEventListener(TimerEvent.TIMER, update);

// timer starten
myTimer.start();

// Hinweistext
myTextField.text = „Demonstration beginnt …“;
}

function update(event:TimerEvent):void {

if (num > 0) {
// Hinweistext
myTextField.text = „Noch “ + String (num) + “ Sekunden \n(Bitte Fenster ausblenden/minimieren)“;

// count down
num–;
}
else {

// Typ der Notifaction:
// „the window icon will flash until the user brings the window to the foreground.“
var type:String = NotificationType.CRITICAL;

// NotificationType.INFORMATIONAL: the window icon will highlight by changing color.
//var type:String = NotificationType.INFORMATIONAL;

// Notification auslösen
stage.nativeWindow.notifyUser(type);

myTextField.text = „Notifaction! Das Window-Icon hat geblinkt.“;
}

}

[/as]

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

5 Gedanken zu „AIR: Taskleiste von Windows blinken lassen“

  1. Pingback: Web-Programmer
  2. ok, hat sich erledigt. Mein Problem war, dass ich das durch eine Klasse realisieren wollte. Die muss jedoch von „Sprite“ erben, damit Flex die „stage“ kennt…

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert