套件 | air.update |
類別 | public class ApplicationUpdaterUI |
繼承 | ApplicationUpdaterUI EventDispatcher Object |
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.5 |
此類別已包含在 Adobe AIR SDK 隨附的 applicationupdater_ui.swc 檔案中。applicationupdater_ui.swc 檔案是在 AIR SDK 的 frameworks/libs/air 目錄中。在 AIR 2 SDK 之 frameworks/libs/air 目錄中的版本是供 Flex 4 開發使用。如果您使用 Flex 3,請使用 frameworks/libs/air/flex3 子目錄中的版本。
Adobe® Flex™ Builder™ 會在您建立 Adobe AIR 的專案時,自動載入這個類別。使用 Adobe® Flex™ SDK 編譯應用程式時,應該包括 SWC 檔案。
管理應用程式的更新可能會很複雜。AIR 更新架構所提供的 API 可協助開發人員為 AIR 應用程式提供完善的更新功能。AIR 更新架構中的功能讓開發人員得以執行下列作業:
-
根據特定間隔或使用者的要求,定期檢查更新
-
從網路來源下載 AIR 檔 (更新項目)
-
在使用者初次執行新安裝的版本時提出警示
-
確認使用者是否要檢查更新
-
向使用者顯示新的更新版本相關資訊
-
向使用者顯示下載進度和錯誤資訊
AIR 更新架構可讓您將 AIR 應用程式更新版本的相關資訊儲存在單純的 XML 組態設定檔中。對大部分應用程式而言,僅需設定這些組態設定檔並加入若干基本程式碼,便能為使用者提供完善的更新功能。
您的應用程式可以使用 AIRUpdateUI 類別所實作的預設使用者介面。此介面為使用者提供了與應用程式更新有關的基本資訊和選項。
更新程序歷經一連串的狀態:
狀態 | 說明 |
---|---|
未初始化 | 更新程式尚未初始化。 |
正在初始化 | 更新程式正在初始化。 |
就緒 | 更新程式已完成初始化。 |
檢查前 | 更新程式尚未檢查更新描述器檔案。 |
檢查中 | 更新程式正在檢查更新描述器檔案。 |
可用 | 已有可用的更新描述器檔案。 |
下載中 | 更新程式正在下載 AIR 檔。 |
已下載 | 更新程式已經下載 AIR 檔。 |
安裝中 | 更新程式正在安裝 AIR 檔。 |
擱置安裝 | 更新程式已完成初始化,且目前尚有擱置的更新。 |
若是使用 AIR Debug Launcher (ADL) 應用程式來測試應用程式,試圖更新應用程式就會產生 IllegalOperationError 例外。
只有桌面描述檔才支援 AIR 更新架構。延伸的桌面應用程式 (利用原生安裝程式安裝的應用程式) 並不支援,而且行動描述檔 (利用 ActionScript 3.0 編寫的 iPhone 應用程式) 也不支援。在執行階段檢查 Updater.isSupported
屬性,暸解是否支援更新架構。
如需有關使用 AIR 更新架構的詳細資訊,請參閱建立 Adobe AIR 應用程式的「更新 AIR 應用程式」一章。
相關 API 元素
屬性 | 定義自 | ||
---|---|---|---|
configurationFile : File
設定 delay 和 updateURL 屬性值的組態設定檔所在位置。 | ApplicationUpdaterUI | ||
constructor : Object
類別物件的參照或是特定物件實體的建構函數。 | Object | ||
currentVersion : String [唯讀]
應用程式的目前版本。 | ApplicationUpdaterUI | ||
delay : Number
定期檢查新的更新之天數間隔。 | ApplicationUpdaterUI | ||
isCheckForUpdateVisible : Boolean
啟用「檢查更新」、「沒有更新」和「更新錯誤」對話方塊的可見性。 | ApplicationUpdaterUI | ||
isDownloadProgressVisible : Boolean
啟用「下載更新」對話方塊的可見性。 | ApplicationUpdaterUI | ||
isDownloadUpdateVisible : Boolean
啟用「下載更新」對話方塊的可見性。 | ApplicationUpdaterUI | ||
isFileUpdateVisible : Boolean
啟用「檔案更新」、「檔案沒有更新」和「檔案錯誤」對話方塊的可見性。 | ApplicationUpdaterUI | ||
isFirstRun : Boolean [唯讀]
是否為成功更新後第一次執行 (true = 是,false = 否)。 | ApplicationUpdaterUI | ||
isInstallUpdateVisible : Boolean
啟用「安裝更新」對話方塊的可見性。 | ApplicationUpdaterUI | ||
isNewerVersionFunction : Function
更新程式用來執行版本比較的函數。 | ApplicationUpdaterUI | ||
isUnexpectedErrorVisible : Boolean
啟用「未預期的錯誤」對話方塊的可見性。 | ApplicationUpdaterUI | ||
isUpdateInProgress : Boolean [唯讀]
Boolean 屬性,如果更新正在執行即為 true,否則為 false。 | ApplicationUpdaterUI | ||
localeChain : Array
定義使用者介面所使用之地區鏈結的陣列。 | ApplicationUpdaterUI | ||
previousApplicationStorageDirectory : File [唯讀]
應用程式儲存目錄先前的位置 (若該位置於更新後有所變更)。 | ApplicationUpdaterUI | ||
previousVersion : String [唯讀]
應用程式的上一個版本。 | ApplicationUpdaterUI | ||
updateDescriptor : XML [唯讀]
從更新 URL 下載之更新描述器檔案的內容。 | ApplicationUpdaterUI | ||
updateURL : String
更新描述器檔案的位置。 | ApplicationUpdaterUI | ||
wasPendingUpdate : Boolean [唯讀]
是否有延緩 (包括安裝失敗) 的更新 (true = 是,false = 否)。 | ApplicationUpdaterUI |
方法 | 定義自 | ||
---|---|---|---|
建構函數。 | ApplicationUpdaterUI | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
會在 EventDispatcher 物件註冊事件偵聽程式,以便讓偵聽程式收到事件的通知。 | EventDispatcher | ||
動態地新增指定語言的新資源組合包。 | ApplicationUpdaterUI | ||
取消更新程序。 | ApplicationUpdaterUI | ||
啟動更新程序。 | ApplicationUpdaterUI | ||
會將事件傳送到事件流程。 | EventDispatcher | ||
會檢查 EventDispatcher 物件是否有對特定的事件類型註冊偵聽程式。 | EventDispatcher | ||
指出物件是否有已定義的指定屬性。 | Object | ||
初始化更新程式。 | ApplicationUpdaterUI | ||
使用本機 AIR 檔啟動更新程序。 | ApplicationUpdaterUI | ||
指出 Object 類別的實體是否位於指定為參數的物件原型鏈中。 | Object | ||
指出指定的屬性是否存在,以及是否可列舉。 | Object | ||
會從 EventDispatcher 物件移除偵聽程式。 | EventDispatcher | ||
為迴圈作業設定動態屬性的可用性。 | Object | ||
傳回代表此物件的字串,根據地區特定慣例進行格式化。 | Object | ||
會傳回指定之物件的字串形式。 | Object | ||
會傳回指定之物件的基本值。 | Object | ||
檢查此 EventDispatcher 物件是否已註冊事件偵聽程式,或者此物件的任何祖系已為特定事件類型註冊事件偵聽程式。 | EventDispatcher |
事件 | 摘要 | 定義自 | ||
---|---|---|---|---|
[廣播事件] 當 Flash Player 或 AIR 應用程式取得作業系統焦點並成為作用中時傳送。 | EventDispatcher | |||
在呼叫 installUpdate() 方法後,將要安裝更新之前傳送。 | ApplicationUpdaterUI | |||
在更新程式嘗試下載更新描述器檔案 (更新程序將要開始) 之前傳送。 | ApplicationUpdaterUI | |||
[廣播事件] 當 Flash Player 或 AIR 應用程式失去作業系統焦點並成為非作用中時傳送。 | EventDispatcher | |||
當更新檔案下載完成時傳送。 | ApplicationUpdaterUI | |||
若在連線或下載更新檔案時發生錯誤,便會傳送。 | ApplicationUpdaterUI | |||
在呼叫 downloadUpdate() 方法及建立伺服器連線之後傳送。 | ApplicationUpdaterUI | |||
若在初始化或更新程序期間發生錯誤 (發生未預期的事件),便會傳送。 | ApplicationUpdaterUI | |||
若在驗證 installFromAIRFile() 方法呼叫中的 airFile 參數所傳遞的檔案時發生錯誤,便會傳送。 | ApplicationUpdaterUI | |||
在更新程式成功驗證 installFromAIRFile() 方法呼叫中的檔案之後傳送。 | ApplicationUpdaterUI | |||
在初始化完成後傳送。 | ApplicationUpdaterUI | |||
下載更新檔案時傳送。 | ApplicationUpdaterUI | |||
若在嘗試下載或剖析更新描述器檔案時發生錯誤,便會傳送。 | ApplicationUpdaterUI | |||
在更新程式成功下載並解譯更新描述器檔案之後傳送。 | ApplicationUpdaterUI |
configurationFile | 屬性 |
configurationFile:File
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.5 |
設定 delay
和 updateURL
屬性值的組態設定檔所在位置。該檔案中的設定也將決定應用程式是否在更新程序期間顯示各種確認對話方塊。如果這個屬性指向不存在的檔案,呼叫 initialize()
方法將導致擲出錯誤。
以下是組態設定檔的樣本:
<?xml version="1.0" encoding="utf-8"?> <configuration xmlns="http://ns.adobe.com/air/framework/update/configuration/1.0" > <url>app:/server/update.xml</url> <delay>1</delay> <defaultUI> <dialog name="checkForUpdate" visible="true" /> <dialog name="downloadUpdate" visible="false" /> <dialog name="downloadProgress" visible="true" /> <dialog name="installUpdate" visible="true" /> </defaultUI> </configuration>
除了載入組態設定檔,您也可以使用 ActionScript 程式碼,設定 ApplicationUpdaterUI 物件的下列屬性:delay
、isCheckForUpdateVisible
、isDownloadProgressVisible
、isDownloadUpdateVisible
、isFileUpdateVisible
、isInstallUpdateVisible
和 updateURL
屬性。
實作
public function get configurationFile():File
public function set configurationFile(value:File):void
相關 API 元素
currentVersion | 屬性 |
delay | 屬性 |
isCheckForUpdateVisible | 屬性 |
isDownloadProgressVisible | 屬性 |
isDownloadUpdateVisible | 屬性 |
isFileUpdateVisible | 屬性 |
isFirstRun | 屬性 |
isInstallUpdateVisible | 屬性 |
isNewerVersionFunction | 屬性 |
isNewerVersionFunction:Function
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.5 |
更新程式用來執行版本比較的函數。根據預設,更新架構會進行版本比較,以偵測來自遠端網站的版本是否比已安裝應用程式的版本新。但是,預設的比較方式有時並不符合開發人員的版本設定配置。設定這個屬性可提供另一函數以進行比較。
預設的比較函數接受 x.y.z 之類的版本,其中 x、y 和 z 可包含字母及數字。預設的比較函數也能辨識某些特殊狀況。如果測試函數在版本字串中發現 "alpha"
、"beta"
或 "rc"
,其順序即為 alpha
< beta
< rc
。
實作
public function get isNewerVersionFunction():Function
public function set isNewerVersionFunction(value:Function):void
範例 ( 如何使用本範例 )
customFn
供 appUpdate
更新程式物件使用。此範例函數刻意單純化。您的自訂函數應該根據版本設定配置的規則傳回 Boolean 值。
appUpdate.isNewerVersionFunction = customFn; function customFn (currentVersion:String, updateVersion:String):Boolean { return updateVersion > currentVersion; }
isUnexpectedErrorVisible | 屬性 |
isUpdateInProgress | 屬性 |
localeChain | 屬性 |
localeChain:Array
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.5 |
定義使用者介面所使用之地區鏈結的陣列。通常,只有 JavaScript (HTML) 開發人員會用到這個屬性。
Flex 開發人員可以使用 ResourceManager 處理地區鏈結。
預設情況下,HTML 類型應用程式會將其語言排序為介於 Capabilities.languages
陣列內的語言以及使用者介面支援的 10 種語言之間。如果找不到相符的語言,使用者介面就會使用英文。
下列 JavaScript 範例使用了 AIR SDK 所提供的 AIR HTML 當地語系化架構。此範例先依據語言清單將語言排序,再將英文設定為預設的後援語言:
appUpdater.addResources("ro_RO", {titleCheck: "Titlu", msgCheck: "Mesaj", btnCheck: "Buton"}); appUpdater.addResources("hu", {titleCheck: "Cím", msgCheck: "Üzenet"}); var languages = ["ro", "hu"]; languages = languages.concat(air.Capabilities.languages); var sortedLanguages = air.Localizer.sortLanguagesByPreference(languages, air.Capabilities.language, "en-US"); sortedLanguages.push("en-US"); appUpdater.localeChain = sortedLanguages;
實作
public function get localeChain():Array
public function set localeChain(value:Array):void
相關 API 元素
previousApplicationStorageDirectory | 屬性 |
previousApplicationStorageDirectory:File
[唯讀] 語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.5 |
應用程式儲存目錄先前的位置 (若該位置於更新後有所變更)。經由憑證移轉方式進行升級後,應用程式儲存目錄的位置就會變更。如果未經憑證移轉,使用者更新應用程式將不會造成應用程式儲存目錄變更,此時這個屬性即設定為 null
。這個屬性是在 initialize()
方法呼叫期間所設定。
如果開發人員使用 ADT 搭配 -migrate
選項封裝 AIR 檔,即可使用新的憑證來簽署新版本的 AIR 應用程式。新版本的 AIR 應用程式若是使用新的簽署憑證,應用程式的本機儲存目錄將隨著使用者安裝新版本而變更。利用這個屬性可將舊的應用程式儲存目錄中的資料傳輸到新的應用程式儲存目錄 (File.applicationStorageDirectory
)。如需詳細資訊,請參閱「Adobe AIR 開發人員指南」中,「使用命令列工具建立 AIR 應用程式」一章的「簽署 AIR 檔以變更應用程式憑證」。
實作
public function get previousApplicationStorageDirectory():File
previousVersion | 屬性 |
updateDescriptor | 屬性 |
updateURL | 屬性 |
wasPendingUpdate | 屬性 |
wasPendingUpdate:Boolean
[唯讀] 語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.5 |
是否有延緩 (包括安裝失敗) 的更新 (true
= 是,false
= 否)。更新程式會在 initialize()
方法呼叫期間設定這個屬性。使用 wasPendingUpdate
和 isFirstRun
屬性可檢查是否有任何更新安裝失敗 (若 wasPendingUpdate
設定為 true
且 isFirstRun
設定為 false
即表示有此情況)。
實作
public function get wasPendingUpdate():Boolean
相關 API 元素
ApplicationUpdaterUI | () | 建構函式 |
public function ApplicationUpdaterUI()
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.5 |
建構函數。
addResources | () | 方法 |
public function addResources(lang:String, res:Object):void
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.5 |
動態地新增指定語言的新資源組合包。此方法讓 JavaScript 開發人員能為應用程式更新程式使用者介面的對話方塊動態地新增顯示語言 (Flex 開發人員則可直接將新的語言加入 "ApplicationUpdaterDialogs" 資源組合包)。
參數
lang:String — 語言碼 (例如 "ro" 代表羅馬尼亞文)。
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
res:Object — 包含翻譯機碼和值的物件。機碼係取自語言屬性檔案。下表列出各種可能的機碼 (屬性名稱)。
|
相關 API 元素
cancelUpdate | () | 方法 |
public function cancelUpdate():void
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.5 |
取消更新程序。呼叫此方法將會取消任何等候中的下載、刪除任何下載不完全的檔案,並重新啟動定期檢查計時器。
只要更新程式不是處於 "uninitialized" 或 "initializing" 狀態,隨時皆可取消更新程序。若為 "uninitialized" 或 "initializing" 狀態,呼叫後不會執行任何動作。
checkNow | () | 方法 |
public function checkNow():void
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.5 |
啟動更新程序。呼叫此方法並不會停止定期計時器,但此方法會偵測是否有更新程序正在執行,並將略過目前的程序循環。
此方法只會在目前狀態為 "Ready" 時執行。
此方法可能導致更新程式物件傳送下列事件:
事件
checkForUpdate: — 更新程序將要開始之前傳送。
|
initialize | () | 方法 |
public function initialize():void
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.5 |
初始化更新程式。呼叫此方法將會執行下列動作:
-
初始化更新架構,以無訊息方式同步安裝任何擱置的更新。在應用程式啟動時即應呼叫此方法,因為這可能會重新啟動應用程式。
-
檢查是否有延緩的更新並加以安裝。
-
如果先前的更新曾發生錯誤,即清除儲存區內的更新檔案和版本資訊。
-
如果定期計時器延遲已到期,即啟動更新程序;否則將啟動定期計時器。然而,若是使用 AIR Debug Launcher (ADL) 應用程式來測試應用程式,試圖更新應用程式就會產生 IllegalOperationError 例外。
事件
initialized: — 初始化完成。
| |
error: — 初始化期間發生錯誤。
|
installFromAIRFile | () | 方法 |
public function installFromAIRFile(file:File):void
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.5 |
使用本機 AIR 檔啟動更新程序。
若有更新程序正在執行 (處於 "Downloaded"
以外的狀態),呼叫此方法將毫無作用。
這項功能對於已將應用程式描述器檔案中的 customUpdateUI
元素設定為 true
的應用程式來說很有用。
使用 AIR Debug Launcher (ADL) 應用程式測試應用程式時,呼叫此方法會產生 IllegalOperationError 例外。
參數
file:File — 即將安裝的本機 AIR 檔。
|
事件
fileUpdateStatus: — 在更新程式成功驗證 AIR 檔之後傳送。
| |
updateError: — 若在嘗試剖析更新描述器檔案時發生錯誤,便會傳送。
|
beforeInstall | 事件 |
air.update.events.UpdateEvent
屬性 UpdateEvent.type =
air.update.events.UpdateEvent.BEFORE_INSTALL
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.5 |
在呼叫 installUpdate()
方法後,將要安裝更新之前傳送。有時候,此時暫且不要安裝更新會比較妥當,因為執行階段若結束應用程式準備安裝更新,可能導致使用者遺失所有目前的工作成果。
呼叫此事件的 preventDefault()
方法便能延緩到下次重新啟動才安裝。如果您呼叫了 preventDefault()
方法,則此應用程式工作階段期間將無法再啟動其他更新程序 (藉由呼叫 installUpdate()
方法或因定期檢查而引發)。
UpdateEvent.BEFORE_INSTALL
常數定義了代表 beforeInstall
事件之事件物件的 type
屬性值。
這個事件具有下列屬性:
屬性 | 值 |
---|---|
bubbles | false |
cancelable | false ;沒有要取消的預設行為指令。 |
currentTarget | 正主動使用事件偵聽程式處理 Event 物件的物件。 |
target | 更新程式物件。 |
checkForUpdate | 事件 |
air.update.events.UpdateEvent
屬性 UpdateEvent.type =
air.update.events.UpdateEvent.CHECK_FOR_UPDATE
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.5 |
在更新程式嘗試下載更新描述器檔案 (更新程序將要開始) 之前傳送。直接呼叫 checkNow()
方法或定期檢查計時器已到期時,更新程式便會傳送此事件。
UpdateEvent.CHECK_FOR_UPDATE
常數定義了代表 checkForUpdate
事件之事件物件的 type
屬性值。
這個事件具有下列屬性:
屬性 | 值 |
---|---|
bubbles | false |
cancelable | false ;沒有要取消的預設行為指令。 |
currentTarget | 正主動使用事件偵聽程式處理 Event 物件的物件。 |
target | 更新程式物件。 |
downloadComplete | 事件 |
air.update.events.UpdateEvent
屬性 UpdateEvent.type =
air.update.events.UpdateEvent.DOWNLOAD_COMPLETE
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.5 |
當更新檔案下載完成時傳送。
UpdateEvent.DOWNLOAD_COMPLETE
常數定義了代表 downloadComplete
事件之事件物件的 type
屬性值。
這個事件具有下列屬性:
屬性 | 值 |
---|---|
bubbles | false |
cancelable | false ;沒有要取消的預設行為指令。 |
currentTarget | 正主動使用事件偵聽程式處理 Event 物件的物件。 |
target | 更新程式物件。 |
downloadError | 事件 |
air.update.events.DownloadErrorEvent
屬性 DownloadErrorEvent.type =
air.update.events.DownloadErrorEvent.DOWNLOAD_ERROR
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.5 |
若在連線或下載更新檔案時發生錯誤,便會傳送。若為無效的 HTTP 狀態 (例如「404 - 找不到檔案」),也將傳送此事件。
一旦傳送此事件,即自動重新啟動定期計時器 (如果延遲值大於 0)。
DownloadErrorEvent.DOWNLOAD_ERROR
常數定義了代表 downloadError
事件之事件物件的 type
屬性值。
DownloadErrorEvent 物件的 errorID
屬性為整數,用以定義錯誤資訊 (請參閱下表)。另外可能還有 subErrorID
屬性包含了更多的錯誤資訊。
errorID 錯誤碼 | 說明 |
---|---|
16800 | 驗證已下載的更新檔案時所發生。subErrorID 屬性可能包含額外資訊。 |
16801 | Adobe AIR 檔無效 (遺漏 application.xml)。 |
16802 | Adobe AIR 檔無效 (遺漏 MIME 類型)。 |
16803 | 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 | 儲存資料至磁碟時發生 IO 錯誤。subErrorID 屬性可能提供更多資訊。 |
16819 | 下載時發生安全性錯誤。subErrorID 屬性可能提供更多資訊。 |
16820 | HTTP 狀態碼無效。subErrorID 屬性可能包含了無效的狀態碼。 |
16821 | 保留。 |
16822 | 下載時發生 I/O 錯誤。subErrorID 屬性可能提供更多資訊。 |
16823 | 儲存資料至磁碟時發生檔案結尾錯誤。subErrorID 屬性可能提供更多資訊。 |
16824 | 更新描述器無效。subErrorID 屬性可能提供更多資訊。 |
16825 | 更新檔案所包含的應用程式具有不同的應用程式 ID。 |
16826 | 更新檔案並未包含版本較新的應用程式。 |
16827 | 更新檔案所包含的版本與更新描述器提供的版本不符。 |
16828 | 無法更新應用程式,通常是因為應用程式在 AIR Debug Launcher (ADL) 中執行所致。 |
16829 | 安裝過程中遺失更新檔案。 |
downloadStart | 事件 |
air.update.events.UpdateEvent
屬性 UpdateEvent.type =
air.update.events.UpdateEvent.DOWNLOAD_START
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.5 |
在呼叫 downloadUpdate()
方法及建立伺服器連線之後傳送。使用 ApplicationUpdater 元件庫時,您可以透過此事件的事件處理常式,顯示進度列向使用者報告下載進度。
UpdateEvent.DOWNLOAD_START
常數定義了代表 downloadStart
事件之事件物件的 type
屬性值。
這個事件具有下列屬性:
屬性 | 值 |
---|---|
bubbles | false |
cancelable | false ;沒有要取消的預設行為指令。 |
currentTarget | 正主動使用事件偵聽程式處理 Event 物件的物件。 |
target | 更新程式物件。 |
error | 事件 |
flash.events.ErrorEvent
屬性 ErrorEvent.type =
flash.events.ErrorEvent.ERROR
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.5 |
若在初始化或更新程序期間發生錯誤 (發生未預期的事件),便會傳送。
定義error
事件物件的 type
屬性值。
這個事件具有下列屬性:
屬性 | 值 |
---|---|
bubbles | false |
cancelable | false ;沒有要取消的預設行為指令。 |
currentTarget | 正主動使用事件偵聽程式處理 Event 物件的物件。 |
target | 遇到網路作業失敗的物件。 |
text | 要顯示為錯誤訊息的文字。 |
fileUpdateError | 事件 |
air.update.events.StatusFileUpdateErrorEvent
屬性 StatusFileUpdateErrorEvent.type =
air.update.events.StatusFileUpdateErrorEvent.FILE_UPDATE_ERROR
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.5 |
若在驗證 installFromAIRFile()
方法呼叫中的 airFile
參數所傳遞的檔案時發生錯誤,便會傳送。
StatusUpdateErrorEvent.UPDATE_ERROR
常數定義了代表 statusUpdateError
事件之事件物件的 type
屬性值。
fileUpdateStatus | 事件 |
air.update.events.StatusFileUpdateEvent
屬性 StatusFileUpdateEvent.type =
air.update.events.StatusFileUpdateEvent.FILE_UPDATE_STATUS
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.5 |
在更新程式成功驗證 installFromAIRFile()
方法呼叫中的檔案之後傳送。
StatusUpdateEvent.UPDATE_STATUS
常數定義了代表 updateStatus
事件之事件物件的 type
屬性值。
這個事件具有下列屬性:
屬性 | 值 |
---|---|
available | 指出除了目前的應用程式外,是否有其他版本可用;若有即為 true ,否則為 false (相同版本)。 |
path | 更新 File 物件的 nativePath 屬性,由 installFromAIRFile() 方法呼叫中的 airFile 參數所指定。 |
version | 指出新更新的版本。 |
initialized | 事件 |
air.update.events.UpdateEvent
屬性 UpdateEvent.type =
air.update.events.UpdateEvent.INITIALIZED
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.5 |
在初始化完成後傳送。
此事件具有下列唯讀屬性:
-
isFirstRun
(Boolean):指出是否為成功更新後第一次執行 (true
= 是,false
= 否)。 -
previousVersion
(String):應用程式升級前的上一個版本 (只有在isfirstRun
為true
時才會設定)。 -
currentVersion
(String):目前已安裝版本的應用程式描述器檔案所提供的版本。
UpdateEvent.INITIALIZED
常數定義了代表 initialized
事件之事件物件的 type
屬性值。
這個事件具有下列屬性:
屬性 | 值 |
---|---|
bubbles | false |
cancelable | false ;沒有要取消的預設行為指令。 |
currentTarget | 正主動使用事件偵聽程式處理 Event 物件的物件。 |
target | 更新程式物件。 |
progress | 事件 |
flash.events.ProgressEvent
屬性 ProgressEvent.type =
flash.events.ProgressEvent.PROGRESS
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.5 |
下載更新檔案時傳送。
定義progress
事件物件的 type
屬性值。
這個事件具有下列屬性:
屬性 | 值 |
---|---|
bubbles | false |
bytesLoaded | 在偵聽程式處理事件時,載入的項目或位元組數目。 |
bytesTotal | 如果載入程序成功時,最終將載入的項目或位元組總數。 |
cancelable | false ;沒有要取消的預設行為指令。 |
currentTarget | 正主動使用事件偵聽程式處理 Event 物件的物件。 |
target | 回報進度的物件。 |
updateError | 事件 |
air.update.events.StatusUpdateErrorEvent
屬性 StatusUpdateErrorEvent.type =
air.update.events.StatusUpdateErrorEvent.UPDATE_ERROR
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.5 |
若在嘗試下載或剖析更新描述器檔案時發生錯誤,便會傳送。
更新程式一旦傳送此事件,即自動重新啟動定期計時器 (如果延遲設定大於 0)。應用程式最好在更新程式傳送新的 checkForUpdate
事件時,隱藏任何錯誤對話方塊。
StatusUpdateErrorEvent.UPDATE_ERROR
常數定義了代表 statusUpdateError
事件之事件物件的 type
屬性值。
updateStatus | 事件 |
air.update.events.StatusUpdateEvent
屬性 StatusUpdateEvent.type =
air.update.events.StatusUpdateEvent.UPDATE_STATUS
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.5 |
在更新程式成功下載並解譯更新描述器檔案之後傳送。
StatusUpdateEvent.UPDATE_STATUS
常數定義了代表 updateStatus
事件之事件物件的 type
屬性值。
這個事件具有下列屬性:
屬性 | 值 |
---|---|
available | 設定為 true 表示更新描述器檔案指定的版本與目前的應用程式版本不同,否則為 false (兩者的版本相同)。 |
version | 字串,代表可用的新版本. |
details | 陣列,定義每一種支援語言的 details 字串。如果沒有當地語系化描述,此陣列將定義成第一個元素為空字串 ("" ),第二個元素為 details 字串。若有當地語系化描述,則陣列中的每個元素本身都是包含兩個元素的陣列。第一個元素是地區碼,第二個元素是描述文字。例如,此陣列包含了代表兩種語言 (美式英文和法文) 的子陣列:["en-US", "Hello World"], ["fr", "Bonjour monde"] 。語言的列示順序與更新描述器中的順序相同。詳細資訊屬性的文字會在更新描述器檔案中指定。 |
versionLabel | (AIR 2.5+) 來自更新應用程式描述器的版本標籤。應該向使用者顯示版本標籤,而非顯示版本。若未指定版本標籤,此屬性將為空白字串。 |
Tue Jun 12 2018, 03:47 PM Z