Minimizar aplicativo AIR com Icone na Bandeja (System Tray)
Bom pessoal, vou ensinar a todos como usar a funcionalidade System Tray do Air.Com a mesma você pode minimizar o aplicativo e deixa - lo na bandeja para que possa ser utilizado novamente.
1: <?xml version="1.0" encoding="utf-8"?>
2: <s:WindowedApplication close="windowedapplication1_closeHandler(event)"
3: closing="windowedapplication1_closingHandler(event)"
4: creationComplete="windowedapplication1_creationCompleteHandler(event)"
5: xmlns:fx="http://ns.adobe.com/mxml/2009"
6: xmlns:mx="library://ns.adobe.com/flex/mx"
7: xmlns:s="library://ns.adobe.com/flex/spark">
8: <fx:Script>
9: <![CDATA[
10: import mx.core.BitmapAsset;
11: import mx.events.FlexEvent;
12: private var dockImage:BitmapAsset;
13: [Bindable]
14: [Embed(source="./assets/icons/suport16x16.png")]
15: public var mySysTray:Class;
16: protected function windowedapplication1_closingHandler(event:Event):void {
17: event.preventDefault();
18: NativeApplication.nativeApplication.icon.bitmaps = [];
19: this.minimize();
20: this.interceptMinimize();
21: }
22: private function initSysTray():void {
23: dockImage = new mySysTray() as BitmapAsset;
24: // Validação simples
25: if (NativeApplication.supportsSystemTrayIcon) {
26: //Listeners
27: SystemTrayIcon(NativeApplication.nativeApplication.icon).tooltip = "Chamados Desktop";
28: SystemTrayIcon(NativeApplication.nativeApplication.icon).addEventListener(MouseEvent.CLICK, undock);
29: }
30: }
31: private function undock(e:Event):void {
32: //Função que ouve quando o usuario clica no icone da barra lateral
33: NativeApplication.nativeApplication.icon.bitmaps = [];
34: this.visible = true;
35: this.includeInLayout = true;
36: this.maximize();
37: }
38: private function interceptMinimize():void {
39: // Seta icone na barra lateral e deixa a aplicação invisivel
40: NativeApplication.nativeApplication.icon.bitmaps = [dockImage];
41: this.visible = false;
42: this.includeInLayout = false;
43: }
44: protected function windowedapplication1_creationCompleteHandler(event:FlexEvent):void {
45: //Chamo uma função que prepara o sistema para a funcionalidade System Tray
46: initSysTray();
47: }
48: protected function windowedapplication1_closeHandler(event:Event):void {
49: // TODO Auto-generated method stub
50: }
51: ]]>
52: </fx:Script>
53: <fx:Declarations>
54: <!-- Place non-visual elements (e.g., services, value objects) here -->
55: </fx:Declarations>
56: </s:WindowedApplication>
Bem, esse é um exemplo simples de como usar o System Tray, flw galera.
Postar um comentário