你也看到了,最重要的其它还是在badge.swf中,那么要做自己的也离不了他的功能。
参数的事就不说了,就从他加载的air.swf说起。
air.swf 文件包含用于使用无缝安装功能的代码。
那么在构造函数里就需要加载 http://airdownload.adobe.com/air/browserapi/air.swf 上承载的air.swf 文件。
成功加载 air.swf 文件后,将调用onInit() 方法:
一、检查是否已安装运行时
调用 getStatus() 方法,可以检查是否已安装运行时。
var status:String = airSWF.getStatus();
getStatus() 方法根据计算机上运行时的状态,返回下列字符串值之一:
字符串值说明
“available” 运行时可以安装在此计算机上,但当前未安装。
“unavailable” 运行时无法安装在此计算机上。
“installed” 运行时已安装在此计算机上。
二、让用户安装 AIR 应用程序
三、检查是否已安装特定 AIR 应用程序
调用
getApplicationVersion() 方法,可以检查是否已安装(应用程序 ID 和发行商 ID 相符的)AIR 应用程序
调用 air.swf 文件的 getApplicationVersion() 方法,如下所示:
var appID:String = “myTestApplication”;
var pubID:String = “FD.1″;
airSWF.getApplicationVersion(appID, pubID, versionDetectCallback);
function versionDetectCallback(version:String):void
{
if (version == null)
{
trace(”未安装.”);
}
else
{
trace(”Version”, version, “已安装.”);
}
}
appID 此应用程序的应用程序 ID。
pubID 此应用程序的发行商 ID。
callback 用作处理函数的回调函数。getApplicationVersion() 方法异步运行,在检测到已安装的版本(或没有已安装的版本)
时,会调用此回调方法。回调方法定义必须包含一个参数,此参数为一个字符串,设置为已安装的应用程序的版本字符
串。如果未安装此应用程序,则会将一个 null 值传递给此函数,如上一代码示例所示。
四、安装特定 AIR 应用程序
调用 installApplication() 方法,可以安装 AIR 应用程序。
加载 air.swf 文件后, SWF 文件便可以调用 air.swf 文件的 installApplication() 方法,如下面的代码所示:
var url:String = “http://www.example.com/myApplication.air”;
var runtimeVersion:String = “1.0″;
var arguments:Array = ["launchFromBrowser"]; // Optional
airSWF.installApplication(url, runtimeVersion, arguments);
installApplication() 方法在用户的计算机上安装指定的应用程序。此方法具有以下参数:
url 一个字符串,定义要安装的 AIR 文件的 URL。必须使用绝对(而非相对) URL 路径。
runtimeVersion 一个字符串,指示要安装的应用程序所需的运行时版本(例如“1.0”)。
arguments 要传递给此应用程序的参数数组(如果此应用程序在安装后启动)。参数中只能识别字母数字字符。如果需要传递其它
值,请考虑使用编码方案。
如果在应用程序描述符文件中将 allowBrowserInvocation 元素设置为 true,则应用程序会在安装后启动。如果因从浏览器进行无缝安装而导致应用
程序启动(用户选择在安装后启动),则仅当已传递参数时,应用程序的 NativeApplication 对象才调度
BrowserInvokeEvent 对象。
仅当在用户事件(例如鼠标单击)的事件处理函数中调用 installApplication() 方法时,此方法才能执行。
五、起动特定 AIR 应用程序
若要使用浏览器调用功能(使其可以从浏览器启动),目标应用程序的应用程序描述符文件必须包含以下设置:
true
浏览器中的 SWF 文件通过在从 http://airdownload.adobe.com/air/browserapi/air.swf 加载的 air.swf 文件中调用
launchApplication() 方法,可以启动 AIR 应用程序。
加载 air.swf 文件后, SWF 文件便可以调用 air.swf 文件的 launchApplication() 方法,如下面的代码所示:
var appID:String = “myTestApplication”;
var pubID:String = “FD.1″;
var arguments:Array = ["launchFromBrowser"];
airSWF.launchApplication(appID, pubID, arguments);
launchApplication() 方法在 air.swf 中。调用此方法将导致AIR 启动指定的应用程序(如果该应用程序已安装,且通过应用程序描述符文件中的 allowBrowserInvocation 设置允许浏览器
调用)。此方法具有以下参数:
appID 要启动的应用程序的应用程序 ID。
pubID 要启动的应用程序的发行商 ID。
arguments 要传递给此应用程序的参数数组。此应用程序的 NativeApplication 对象调度 arguments 属性设置为此数组的
BrowserInvokeEvent 事件。参数中只能识别字母数字字符。如果需要传递其它值,请考虑使用编码方案。
仅当在用户事件(例如鼠标单击)的事件处理函数中调用 launchApplication() 方法时,此方法才能执行。
如果在应用程序描述符文件中将 allowBrowserInvocation 元素设置为 false,则调用 launchApplication() 方法将不起任何作用。
在显示用户界面以启动应用程序之前,您可能需要在 air.swf 文件中调用 getApplicationVersion() 方法
当通过浏览器调用功能调用此应用程序时,此应用程序的 NativeApplication 对象将调度 BrowserInvokeEvent 对象
如果您使用浏览器调用功能,一定要考虑安全隐患
注:此应用程序运行后便可以通过使用 LocalConnection 类与浏览器中的 SWF 内容通信。
AIR 从网页安装和运行 AIR 应用程序 算是完了,希望大家做出漂亮实用的程序。
Recent Comments