Dentro del código (3): Cargar la imagen de icono y adjuntarla al menu

Nuestro último paso consiste ya en crear el loader del que tanto hemos hablado, cargarlo con la imagen, llamar a iconLoadComplete cuando haya finalizado la carga (aprovechamos que contentLoaderInfo va lanzando eventos a medida que la carga se ejecuta, incluyendo COMPLETE al finalizar) y adjuntar el menu que creamos al principio (contextMenu) a shell.icon.menu.
El proceso tiene pequeñas diferencias entre Win y Mac, por lo que comprobaremos la plataforma mediante el uso de Shell.supportsSystemTrayIcon que devuelve true en Windows y Shell.supportsDockIcon, que devuelve true en Mac. De esta manera, podemos utilizar iconos diferentes para cada plataforma.
A su vez, shell.icon.tooltip nos permite añadir un pequeño texto descriptivo al pasar el cursor sorbre el icono.

No hemos envuelto el código en ninguna función para que se ejecute directamente durante la carga.

var iconLoader = new air.Loader();
if(air.Shell.supportsSystemTrayIcon){
iconLoader.contentLoaderInfo.addEventListener(air.Event.COMPLETE,iconLoadComplete);
iconLoader.load(new air.URLRequest("images/tcn_icon_16.png"));
air.Shell.shell.icon.tooltip = "System Tray Demo";
air.Shell.shell.icon.menu = contextMenu;
}
if(air.Shell.supportsDockIcon){
iconLoader.contentLoaderInfo.addEventListener(air.Event.COMPLETE,iconLoadComplete);
iconLoader.load(new air.URLRequest("images/AIRApp_128.png"));
air.Shell.shell.icon.menu = contextMenu;
}

Descarga los archivos de ejemplo
Incluyen código comentado, las carpetas para compilar de forma sencilla (incluidos iconos) y una aplicación AIR ya compilada para probar su funcionamiento

Paginas: 1 2 3 4