包 | flash.desktop |
类 | public final class Updater |
继承 | Updater Object |
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 |
update()
方法。
仅桌面配置文件支持 Updater 类。扩展桌面应用程序(使用本机安装程序安装的应用程序)不支持此功能,AIR 移动配置文件或 AIR for TV 配置文件也不支持此功能。检查 Updater.isSupported
属性。
扩展桌面应用程序(使用本机安装程序安装的应用程序)可以下载本机安装程序的新版本,并使用 File.openWithDefaultApplication()
方法启动它。
相关 API 元素
属性 | 由以下参数定义 | ||
---|---|---|---|
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
isSupported : Boolean [静态] [只读]
如果 Updater 类在当前平台上可用,则 isSupported 属性设置为 true,否则设置为 false。 | Updater |
方法 | 由以下参数定义 | ||
---|---|---|---|
Updater()
Updater 类的构造函数。 | Updater | ||
表示对象是否已经定义了指定的属性。 | Object | ||
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
表示指定的属性是否存在、是否可枚举。 | Object | ||
设置循环操作动态属性的可用性。 | Object | ||
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | ||
返回指定对象的字符串表示形式。 | Object | ||
使用指定的 AIR 文件中包含的应用程序版本更新当前运行的应用程序。 | Updater | ||
返回指定对象的原始值。 | Object |
isSupported | 属性 |
Updater | () | 构造函数 |
public function Updater()
运行时版本: | AIR 1.0 |
Updater 类的构造函数。请注意,update()
方法不是该类的静态成员。必须实例化一个 Updater 对象,然后对它调用 update()
方法。
update | () | 方法 |
public function update(airFile:File, version:String):void
语言版本: | ActionScript 3.0 |
运行时版本: | AIR 1.0 |
使用指定的 AIR 文件中包含的应用程序版本更新当前运行的应用程序。AIR 文件中的应用程序必须具有与当前正在运行的应用程序相同的应用程序标识符 (appID
)。
调用此方法将导致当前应用程序退出(如同调用了 NativeApplication.exit()
方法)。这是必要的,因为 Adobe AIR 无法在应用程序正在运行时完全更新该应用程序。一旦成功安装了应用程序的新版本,该应用程序即会启动。如果运行时无法成功安装新版本(例如,如果新版本的应用程序 ID 与现有的版本不匹配),AIR 安装程序会向用户显示错误消息,然后重新启动旧版本。
无论更新是否成功,更新过程都会重新启动该应用程序。更新可能因为各种原因而失败,包括应用程序无法控制(比如用户没有足够的权限来安装该应用程序)等原因。应用程序应该谨慎检测失败,避免反复重新尝试相同的失败更新。所造成的无限循环必将禁用该应用程序。检查更新是否成功的方法之一是在启动更新前将当前版本号码写到一个文件中,当应用程序重新启动后将该号码与版本号码进行比较。
在使用 AIR Debug Launcher (ADL) 应用程序测试某个应用程序时,调用 update()
方法会导致 IllegalOperationError 异常。
在 Mac OS 中,要安装某一应用程序的更新版本,用户需要具有足够的系统权限才能将新版本安装到应用程序目录中。在 Windows 或 Linux 中,用户需要具有管理权限。
如果应用程序的更新版本要求运行时的更新版本,则会安装新的运行时版本。要更新运行时,用户需要具有计算机的管理员权限。
注意:出于安全方面的原因,需要指定 version
参数。通过要求应用程序验证 AIR 文件中的版本号码,应用程序不会在不经意间安装较旧的版本,较旧的版本可能包含在安全性方面已经得到修复的易受攻击性。
参数
airFile:File — 指向包含应用程序更新版本的 AIR 文件的 File 对象。
| |
version:String — 新 AIR 文件中所需要的版本。要使更新成功,AIR 文件的应用程序描述符文件的主 application 元素的 version 属性中的字符串必须与此值匹配。
|
引发
IllegalOperationError — 在 ADL 中运行时调用该方法。
|
相关 API 元素
示例 ( 如何使用本示例 )
update()
方法不是 该类的静态方法。可以实例化一个 Updater 对象并调用该对象的 update()
方法。
import flash.fileSystem.File; import flash.desktop.Updater; var updater:Updater = new Updater(); var airFile:File = File.applicationStorageDirectory.resolvePath("Example Application.air"); var version:String = "2.01"; updater.update(airFile, version);
Tue Jun 12 2018, 11:04 AM Z