关于调用ApplicationUpdaterUI后,无法正常关闭进程

    AIR桌面程序支持版本更新,可以用ApplicationUpdaterUI来达到更新程序的目的。但调用ApplicationUpdaterUI后,关闭程序有可能会出现当前进程无法注销掉,只能手动杀死当前AIR桌面程序的进程。在网上搜了搜相关资料,找到了个解决办法。

 

<?xml version="1.0" encoding="utf-8"?> <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" closing="closingHandlerByWindow(event)" showStatusBar="false"> <fx:Script> <!--[CDATA[ /** * closingHandlerByWindow * 在关闭主程序前,处理ApplicationUpdaterUI无法正常关闭,进程关不掉问题。 * * @param Event evt * @return void * **/ protected function closingHandlerByWindow(event:Event):void { var len:int = nativeApplication.openedWindows.length; //获取其余窗体,除了主程序 for (var i:int = len - 1; i > 0; i--) { var win:NativeWindow = nativeApplication.openedWindows[i] as NativeWindow; if (win && !win.closed) win.close(); }//for end } ]]--> </fx:Script> <fx:Declarations> </fx:Declarations> <s:layout> <s:VerticalLayout /> </s:layout> <s:Label text="Hello World"/> </s:WindowedApplication>

 

原文:http://flex4examples.wordpress.com/2010/12/30/making-sure-your-air-application-exits-when-using-applicationupdaterui/

你可能感兴趣的:(function,library,AIR,encoding,2010)