套件 | 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 — File 物件,指向包含應用程式之更新版本的 AIR 檔案。
| |
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, 03:47 PM Z