用于 Adobe® Flash® Platform 的 ActionScript® 3.0 参考
主页  |  隐藏包列表和类列表 |   |   |  新增内容  |  索引  |  附录  |  为什么显示为英语?
过滤条件: 正在从服务器检索数据...
正在从服务器检索数据...
flash.desktop 

Updater  - AS3

flash.desktop
public final class Updater
继承Updater Inheritance Object

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

Updater 类用于将当前运行的应用程序更新为不同的版本。要使用该类,请实例化一个 Updater 对象,然后调用其 update() 方法。

仅桌面配置文件支持 Updater 类。扩展桌面应用程序(使用本机安装程序安装的应用程序)不支持此功能,AIR 移动配置文件或 AIR for TV 配置文件也不支持此功能。检查 Updater.isSupported 属性。

扩展桌面应用程序(使用本机安装程序安装的应用程序)可以下载本机安装程序的新版本,并使用 File.openWithDefaultApplication() 方法启动它。

相关 API 元素



公共属性
 属性由以下参数定义
 Inheritedconstructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
      isSupported : Boolean
[静态] [只读] 如果 Updater 类在当前平台上可用,则 isSupported 属性设置为 true,否则设置为 false。
Updater
公共方法
 方法由以下参数定义
  
    Updater()
Updater 类的构造函数。
Updater
 Inherited
表示对象是否已经定义了指定的属性。
Object
 Inherited
表示 Object 类的实例是否在指定为参数的对象的原型链中。
Object
 Inherited
表示指定的属性是否存在、是否可枚举。
Object
 Inherited
设置循环操作动态属性的可用性。
Object
 Inherited
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。
Object
 Inherited
返回指定对象的字符串表示形式。
Object
  
    update(airFile:File, version:String):void
使用指定的 AIR 文件中包含的应用程序版本更新当前运行的应用程序。
Updater
 Inherited
返回指定对象的原始值。
Object
属性详细信息
    

isSupported

属性
isSupported:Boolean  [只读]

语言版本: ActionScript 3.0
运行时版本: AIR 2

如果 Updater 类在设备当前平台上可用,则 isSupported 属性设置为 true,否则设置为 false



实现
    public static function get isSupported():Boolean
构造函数详细信息
    

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);




[ X ]为什么显示为英语?
《ActionScript 3.0 参考》中的内容以英语显示

《ActionScript 3.0 参考》中的部分内容未翻译成所有语言。当某个语言元素未翻译时,将显示为英语。例如,ga.controls.HelpBox 类未翻译成任何语言。因此在简体中文版的参考中,ga.controls.HelpBox 类显示为英语。