AIR的学习者大概都阅读过“从网页安装和运行AIR应用程序”(有关详细信息,请参阅:Adobe AIR 1.5 文档 ),我将推出几个系列专门为大家介绍一些与此相关的,非常有用的功能。
系列一: 通过AIR应用程序去启动另AIR应用程序
In-Browser API 不仅允许用户从浏览器中去启动AIR 应用程序,而且还允许通过AIR应用程序去启动另一个AIR应用程序。
是不是很有意思?好,继续!
为了测试这个功能,我们必须准备两个AIR应用程序。第一个是目标程序(targetApplication),包含一个列表,能够显示传递给目标程序的参数。第二个是启动程序(launchApplication),能够启动目标程序,但是预先设置传递给目标程序的参数。
大家都知道,若要使用浏览器调用功能(使AIR应用程序可以从浏览器启动),目标应用程序的应用程序描述符文件必须包含一下设置:
<allowBrowserInvocation>true</allowBrowserInvocation>
目标应用程序设置好后,我们可以开始配置启动程序,此应用程序必须符合以下两项条款:
1. air.swf文件通过从http://airdownload.adobe.com/air/browserapi/air.swf 加载.
private const BROWSERAPI_URL_BASE:String="http://airdownload.adobe.com/air/browserapi"; // Loading the Browser API public function init():void { _loader=new Loader(); var loaderContext:LoaderContext=new LoaderContext(); loaderContext.applicationDomain=ApplicationDomain.currentDomain; _loader.contentLoaderInfo.addEventListener(Event.INIT, onInit); _loader.load(new URLRequest(BROWSERAPI_URL_BASE + "/air.swf"), loaderContext); } // Listener for when the API is Initialized private function onInit(e:Event):void { _air=e.target.content; launchButton.enabled=true; }
2. 调用launchApplication()方法并且传递必要的参数数组。
// Launching an Application through the Browser API private function onButtonClicked(event:MouseEvent):void { _air.launchApplication("targetApplication", "C3AD24548343F7569498274306102AB328526006.1", new Array("Argument A", "Argument B")); }
补充说明:launchApplication()方法在air.swf文件定义。调用此方法将会启动指定的应用程序,条件是如果该应用程序已经安装,并且允许浏览器调用。此方法具有以下参数:
参数 | 说明 |
appID | 要启动的应用程序ID。即程序,描述符中的<id> |
pubID | 要启动的应用发行商ID。 |
arguments | 要传递给此应用程序的参数数组。 |
好了,此章已经给大家介绍完了,动手试试吧!欢迎大家一起讨论学习。
--豆沙包