- 积分
- 136401
- 注册时间
- 2014-12-27
- 最后登录
- 2026-1-24
- 在线时间
- 605 小时
- 威望
- 562
- 贡献
- 29
- 金币
- 52903
- 钢镚
- 1422
- 交易凭证
- 1
- 分享
- 0
- 精华
- 33
- 帖子
- 2094
- 主题
- 1742
TA的每日心情 | 擦汗 2018-4-10 15:18 |
|---|
签到天数: 447 天 [LV.9]以坛为家II
超级版主
    
- 威望
- 562
- 贡献
- 29
- 金币
- 52903
- 钢镚
- 1422
 
|
- package com.
- {
- import flash.events.ErrorEvent;
- import flash.utils.getQualifiedClassName;
-
- import mx.controls.Alert;
-
- import air.update.ApplicationUpdaterUI;
- import air.update.events.DownloadErrorEvent;
- import air.update.events.StatusFileUpdateErrorEvent;
- import air.update.events.StatusUpdateErrorEvent;
- import air.update.events.UpdateEvent;
-
- /**
- * 概要:软件更新管理器
- * 创建日期:2014-3-10
- * 最后更新日期:2014-3-10
- * @author
- */
- public class AppUpdate
- {
-
- private const downErrorMSG:Object =
- {
- "16800":"验证已下载的更新文件时出错。下面内容可能包含其他信息。",
- "16801":"Adobe AIR 文件无效(缺少 application.xml)。",
- "16802":"Adobe AIR 文件无效(缺少 MIME 类型)。",
- "16807":"Adobe AIR 文件无效(格式)。",
- "16804":"Adobe AIR 文件无效(标志无效)。",
- "16805":"Adobe AIR 文件无效(压缩方式未知)。",
- "16806":"Adobe AIR 文件无效(文件名无效)。",
- "16807":"Adobe AIR 文件无效(已损坏)。",
- "16808":"配置文件不存在。",
- "16809":"未设置 updateURL 属性。",
- "16810":"保留。",
- "16811":"配置文件无效(配置版本未知)。",
- "16812":"配置文件无效(缺少 URL)。",
- "16813":"配置文件无效(延迟格式)。",
- "16814":"配置文件无效(defaultUI 值无效)。",
- "16815":"更新描述符无效(描述符版本未知)。",
- "16816":"更新描述符无效(缺少更新版本)。",
- "16817":"更新描述符无效(说明无效)。",
- "16818":"向磁盘保存数据时发生 I/O 错误。下面内容可能会提供更多信息。",
- "16819":"下载时发生安全错误。下面内容可能会提供更多信息。",
- "16820":"HTTP 状态代码无效。下面内容可能包含无效的状态代码。",
- "16821":"保留。",
- "16822":"下载时发生 I/O 错误。下面内容可能会提供更多信息。",
- "16823":"向磁盘保存数据时文件尾出错。下面内容可能会提供更多信息。",
- "16824":"更新描述符无效。下面内容可能会提供更多信息。",
- "16825":"更新文件包含应用程序 ID 不同的应用程序。",
- "16826":"更新文件不包含应用程序的更新版本。",
- "16827":"更新文件中包含的版本与更新描述符中的版本不匹配。",
- "16828":"无法更新应用程序,通常是因为应用程序正在 AIR Debug Launcher (ADL) 中运行。",
- "16829":"安装时缺少更新文件。"
- };
-
- public function AppUpdate(configURL:String)
- {
- updateProject(configURL);
- if(appUpdater.isFirstRun)
- {
- var vi:VersionInfo = new VersionInfo();
- vi.version = appUpdater.currentVersion;
- vi.open();
- }
- }
-
- [Bindable]
- public static var appUpdater: ApplicationUpdaterUI = new ApplicationUpdaterUI();
-
- private function updateProject(configURL:String) :void {
- // 应用配置文件
-
- configURL += "version.xml";
-
- try
- {
- appUpdater.updateURL = configURL;
- appUpdater.isCheckForUpdateVisible = false;
- appUpdater.addEventListener(UpdateEvent.INITIALIZED, onUpdate);
- appUpdater.addEventListener(ErrorEvent.ERROR, onError);
- appUpdater.addEventListener(StatusUpdateErrorEvent.UPDATE_ERROR, updateErrorHandler);
- appUpdater.addEventListener(DownloadErrorEvent.DOWNLOAD_ERROR, downErrorHandler);
- appUpdater.addEventListener(StatusFileUpdateErrorEvent.FILE_UPDATE_ERROR, fileUpdateErrorHandler);
-
- appUpdater.initialize();
- }
- catch (error: Error)
- {
-
- Alert.show("检测更新失败", "更新失败", 4);
- removeHandler();
-
- }
- }
-
- private function removeHandler():void
- {
- appUpdater.removeEventListener(UpdateEvent.INITIALIZED, onUpdate);
- appUpdater.removeEventListener(ErrorEvent.ERROR, onError);
- appUpdater.removeEventListener(StatusUpdateErrorEvent.UPDATE_ERROR, updateErrorHandler);
- appUpdater.removeEventListener(DownloadErrorEvent.DOWNLOAD_ERROR, downErrorHandler);
- appUpdater.removeEventListener(StatusFileUpdateErrorEvent.FILE_UPDATE_ERROR, fileUpdateErrorHandler);
- }
-
- // 自动更新
- public static function updateAirFromService() :void
- {
- try
- {
- appUpdater.checkNow();
- }
- catch (error: Error)
- {
- Alert.show("下载更新失败", "onUpdate error", 4);
- }
- }
-
- // 执行更新
- private function onUpdate(event:UpdateEvent):void
- {
- updateAirFromService();
- }
-
- // 更新检查失败
- private function onError(event:ErrorEvent):void
- {
- Alert.show("更新失败", "onError", 4);
- removeHandler();
- }
-
- protected function updateErrorHandler(event:StatusUpdateErrorEvent):void
- {
-
- Alert.show("更新失败", "updateError", 4);
- removeHandler();
-
- }
-
- protected function downErrorHandler(event:DownloadErrorEvent):void
- {
- var msg:String = downErrorMSG[event.errorID+""] + "\n";
- if(downErrorMSG[event.subErrorID+""])
- msg += downErrorMSG[event.subErrorID+""];
- else
- msg += event.subErrorID;
- msg += "\n";
- msg += event.text;
-
- Alert.show("应用下载失败","下载失败", 4);
- removeHandler();
-
- }
-
- protected function fileUpdateErrorHandler(event:StatusFileUpdateErrorEvent):void
- {
-
- Alert.show("文件下载失败", "fileUpdateError", 4);
- removeHandler();
-
- }
- }
- }
复制代码
AppUpdate.as
|
|