michael@0: michael@0: michael@0: # org.apache.cordova.device michael@0: michael@0: 這個外掛程式定義全球 `device` 物件,描述該設備的硬體和軟體。 雖然物件是在全球範圍內,但不是可用,直到後 `deviceready` 事件。 michael@0: michael@0: document.addEventListener("deviceready", onDeviceReady, false); michael@0: function onDeviceReady() { michael@0: console.log(device.cordova); michael@0: } michael@0: michael@0: michael@0: ## 安裝 michael@0: michael@0: cordova plugin add org.apache.cordova.device michael@0: michael@0: michael@0: ## 屬性 michael@0: michael@0: * device.cordova michael@0: * device.model michael@0: * device.platform michael@0: * device.uuid michael@0: * device.version michael@0: michael@0: ## device.cordova michael@0: michael@0: 獲取科爾多瓦在設備上運行的版本。 michael@0: michael@0: ### 支援的平臺 michael@0: michael@0: * 亞馬遜火 OS michael@0: * Android 系統 michael@0: * 黑莓 10 michael@0: * 瀏覽器 michael@0: * 火狐瀏覽器的作業系統 michael@0: * iOS michael@0: * 泰 michael@0: * Windows Phone 7 和 8 michael@0: * Windows 8 michael@0: michael@0: ## device.model michael@0: michael@0: `device.model`返回設備的模型或產品的名稱。值由設備製造商設置和同一產品的不同版本可能不同。 michael@0: michael@0: ### 支援的平臺 michael@0: michael@0: * Android 系統 michael@0: * 黑莓 10 michael@0: * 瀏覽器 michael@0: * iOS michael@0: * 泰 michael@0: * Windows Phone 7 和 8 michael@0: * Windows 8 michael@0: michael@0: ### 快速的示例 michael@0: michael@0: // Android: Nexus One returns "Passion" (Nexus One code name) michael@0: // Motorola Droid returns "voles" michael@0: // BlackBerry: Torch 9800 returns "9800" michael@0: // Browser: Google Chrome returns "Chrome" michael@0: // Safari returns "Safari" michael@0: // iOS: for the iPad Mini, returns iPad2,5; iPhone 5 is iPhone 5,1. 請參閱 HTTP://theiphonewiki.com/wiki/index.php?title=Models / / var 模型 = device.model ; michael@0: michael@0: michael@0: ### Android 的怪癖 michael@0: michael@0: * 獲取[產品名稱][1]而不是[產品型號名稱][2],這往往是生產代碼名稱。 例如,Nexus One 返回 `Passion` ,和摩托羅拉 Droid 返回`voles`. michael@0: michael@0: [1]: http://developer.android.com/reference/android/os/Build.html#PRODUCT michael@0: [2]: http://developer.android.com/reference/android/os/Build.html#MODEL michael@0: michael@0: ### Tizen 怪癖 michael@0: michael@0: * 例如,返回與供應商指派的設備模型`TIZEN` michael@0: michael@0: ### Windows Phone 7 和 8 怪癖 michael@0: michael@0: * 返回由製造商指定的設備模型。例如,三星焦點返回`SGH-i917`. michael@0: michael@0: ## device.platform michael@0: michael@0: 獲取設備的作業系統名稱。 michael@0: michael@0: var string = device.platform; michael@0: michael@0: michael@0: ### 支援的平臺 michael@0: michael@0: * Android 系統 michael@0: * 黑莓 10 michael@0: * Browser4 michael@0: * 火狐瀏覽器的作業系統 michael@0: * iOS michael@0: * 泰 michael@0: * Windows Phone 7 和 8 michael@0: * Windows 8 michael@0: michael@0: ### 快速的示例 michael@0: michael@0: // Depending on the device, a few examples are: michael@0: // - "Android" michael@0: // - "BlackBerry 10" michael@0: // - Browser: returns "MacIntel" on Mac michael@0: // returns "Win32" on Windows michael@0: // - "iOS" michael@0: // - "WinCE" michael@0: // - "Tizen" michael@0: var devicePlatform = device.platform; michael@0: michael@0: michael@0: ### Windows Phone 7 的怪癖 michael@0: michael@0: Windows Phone 7 設備報告作為平臺`WinCE`. michael@0: michael@0: ### Windows Phone 8 怪癖 michael@0: michael@0: Windows Phone 8 設備報告作為平臺`Win32NT`. michael@0: michael@0: ## device.uuid michael@0: michael@0: 獲取設備的通用唯一識別碼 ([UUID][3]). michael@0: michael@0: [3]: http://en.wikipedia.org/wiki/Universally_Unique_Identifier michael@0: michael@0: var string = device.uuid; michael@0: michael@0: michael@0: ### 說明 michael@0: michael@0: 如何生成一個 UUID 的細節由設備製造商和特定于設備的平臺或模型。 michael@0: michael@0: ### 支援的平臺 michael@0: michael@0: * Android 系統 michael@0: * 黑莓 10 michael@0: * iOS michael@0: * Tizen michael@0: * Windows Phone 7 和 8 michael@0: * Windows 8 michael@0: michael@0: ### 快速的示例 michael@0: michael@0: / / Android: 一個隨機的 64 位整數 (作為字串返回,再次!) / / 上設備的第一次啟動生成的整數 / / / / 黑莓手機: 返回設備的 PIN 號碼 / / 這是九個數字的唯一整數 (作為字串,雖然!) / / / / iPhone: (從 UIDevice 類文檔解釋) / / 返回一個字串的雜湊值創建的多個硬體標識。 michael@0: / / 它保證是唯一的每個設備並不能綁 / / 到使用者帳戶。 michael@0: / / Windows Phone 7: 返回的雜湊代碼的設備 + 當前使用者,/ / 如果未定義使用者,則一個 guid 生成的並且將會保留直到卸載該應用程式 / / Tizen: 返回設備 IMEI (國際行動裝置身份或 IMEI 是一個數位 / / 獨有的每一個 UMTS 和 GSM 行動電話。 michael@0: var deviceID = device.uuid; michael@0: michael@0: michael@0: ### iOS 怪癖 michael@0: michael@0: `uuid`在 iOS 不是唯一的一種裝置,但對於每個應用程式,為每個安裝而異。 如果您刪除並重新安裝該應用程式,它更改和可能還當你升級 iOS,或甚至升級每個版本 (iOS 5.1 中存在明顯的) 的應用程式。 `uuid`不是一個可靠的值。 michael@0: michael@0: ### Windows Phone 7 和 8 怪癖 michael@0: michael@0: `uuid`為 Windows Phone 7 須經許可 `ID_CAP_IDENTITY_DEVICE` 。 Microsoft 可能會很快棄用此屬性。 如果沒有可用的能力,應用程式將生成設備上應用程式的安裝過程中保持持續的 guid。 michael@0: michael@0: ## device.version michael@0: michael@0: 獲取作業系統版本。 michael@0: michael@0: var string = device.version; michael@0: michael@0: michael@0: ### 支援的平臺 michael@0: michael@0: * Android 2.1 + michael@0: * 黑莓 10 michael@0: * 瀏覽器 michael@0: * iOS michael@0: * 泰 michael@0: * Windows Phone 7 和 8 michael@0: * Windows 8 michael@0: michael@0: ### 快速的示例 michael@0: michael@0: // Android: Froyo OS would return "2.2" michael@0: // Eclair OS would return "2.1", "2.0.1", or "2.0" michael@0: // Version can also return update level "2.1-update1" michael@0: // michael@0: // BlackBerry: Torch 9800 using OS 6.0 would return "6.0.0.600" michael@0: // michael@0: // Browser: Returns version number for the browser michael@0: // michael@0: // iPhone: iOS 3.2 returns "3.2" michael@0: // michael@0: // Windows Phone 7: returns current OS version number, ex. on Mango returns 7.10.7720 michael@0: // Tizen: returns "TIZEN_20120425_2" michael@0: var deviceVersion = device.version;