AIR: Dock hüpfen lassen

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:
[as]
if(NativeApplication.supportsDockIcon) {
… Mac Code
}
else {
… Win Code
}
[/as]

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:

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

// 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;

//if(NativeApplication.supportsDockIcon){
var dock:DockIcon = NativeApplication.nativeApplication.icon as DockIcon;
dock.bounce(type);

myTextField.text = „Notifaction! Das Dock hüpft.“;
}

}

[/as]

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

[ad]

Schreibe einen Kommentar

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