一、任务栏高亮
NativeWindow提供了notifyUser()方法来闪烁任务栏标题:notifyUser(type:String):void;
该方法有一个参数,两个可选值:NotificationType.CRITICAL和NotificationType.INFORMATIONAL:
CRITICAL参数会持续在任务栏闪烁,直到你点击它。
INFORMATIONAL只会闪烁两次就停止并一直处于高亮状态。
二、托盘图标闪烁
原理:一张透明图片和一张飞透明图片按照指定的时间轮流切换。
代码如下:
package
{
import flash.desktop.*;
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.utils.Timer;
/**
* 新消息时托盘图标闪烁
*/
public class SystemTrayFlash
{
[Embed(source="../assets/icon32.png")]
private var icon1:Class;
[Embed(source="../assets/empty32-3.png")]
private var icon2:Class;
private static var _notifyTimer:Timer;//静态,全局只有一个闪烁计时器
private var _state:int=0; //闪动状态
private var _bitmapDataArray:Array = []; //系统任务栏图标数组
public function SystemTray()
{
//设置任务栏监听
_notifyTimer = new Timer(500);
_notifyTimer.addEventListener(TimerEvent.TIMER,onNotify);
_bitmapDataArray[0] = (new icon1()).bitmapData;
_bitmapDataArray[1] = (new icon2()).bitmapData;
}
/**
* 开始闪烁托盘图标
*/
public function startNotify():void{
_notifyTimer.start();
}
/**
* 停止闪烁托盘图标
*/
public function stopNotify():void{
_notifyTimer.stop();
}
//每隔500ms触发Timer状态栏闪动提醒事件
private function onNotify(evt:TimerEvent):void{
if (_state == 0)
_state = 1;
else
_state = 0;
NativeApplication.nativeApplication.icon.bitmaps = [_bitmapDataArray[_state]]; //设置托盘图标
}
}
}