系列二: 从网页中判断是否安装指定的AIR应用程序
大家应该都知道开发者可以通过部署无缝安装(badge install),使用户可以从浏览器中安装上AIR应用程序。无缝安装(badge install)功能可以判断用户是否安装AIR Runtime,如果未安装,无缝安装将安装AIR Runtime。今天我想再为大家介绍另一个非常实用的功能,如果无缝安装判断是否安装了指定的AIR应用程序。
第一步: AIR应用程序设置
如要使用浏览器调用功能,你的应用程序描述符文件必须包含以下设置:
<allowBrowserInvocation>true</allowBrowserInvocation>
第二步:调用getApplicationVersion()方法并返回AIR应用程序的版本
AIR SDK 提供了badge.swf文件的源文件。这些文件包含在SDK的samples/badge文件夹中。大家可以使用Flash CS4 为自己badge Install重新扩展一些的功能。比如我通过修改AIRBadge.as源文件,添加了一个调用getApplicationVersion()功能.
private function onVersionCallback( version:String ) { if ( version == null ) { root.statusMessage.text = “Application not installed” } else{ root.statusMessage.text = "App version: " + version; } private function onButtonClicked(e:Event):void { try { switch (_air.getStatus()) { case "installed" : root.statusMessage.htmlText = "Download and open the AIR file to begin the installation"; root.statusMessage.text = "Executing .getApplicationVersion()"; _air.getApplicationVersion("BrowserInvokeTest", "017D136B33EF96C734A4CED5AD6F482E6AE9E1B8.1", onVersionCallback); break; case "available" : root.statusMessage.htmlText = "This badge does not perform any installation"; break; case "unavailable" : break; } } catch (e:Error) { root.statusMessage.text = e.message; } }
这段代码告诉大家如何使用getApplicationVersion()方法,判断是否安装了指定的应用程序。如果指定的应用程序没有安装,则返回null;反之,则返回应用程序的版本。
怎么样?大家是不是可以很容易的扩展无缝安装(badge install)的功能。动手试试吧!
--豆沙包