PhoneGap API介紹:Device
屬性:
變量作用域:
由于device被分配到window對象,隱含說明其作用域為全局范圍。
- // 下面兩句引用了相同的“device”對象
- var phoneName = window.device.name;
- var phoneName = device.name;
獲得設(shè)備的型號名稱。
- var string = device.name;
說明:
device.name返回設(shè)備的型號或產(chǎn)品名稱。這個值是由設(shè)備制造商設(shè)定,可能同一產(chǎn)品的不同版本之間有所不同。
支持的平臺:
- Android
- BlackBerry
- BlackBerry WebWorks (OS 5.0或更高版本)
- iPhone
簡單的范例:
- // Android: Nexus One 返回 "Passion" (Nexus One的代碼名)
- // Motorola Droid 返回"voles"
- // BlackBerry: Bold 8900 返回 "8900"
- // iPhone: 所有設(shè)備都返回由iTunes設(shè)置的名稱,如 "Joe's iPhone"
- var name = device.name;
完整的范例:
- <!DOCTYPE html>
- <html>
- <head>
- <title>Device Properties Example</title>
- <script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
- <script type="text/javascript" charset="utf-8">
- // 等待加載PhoneGap
- document.addEventListener("deviceready", onDeviceReady, false);
- // PhoneGap加載完成
- function onDeviceReady() {
- var element = document.getElementById('deviceProperties');
- element.innerHTML = 'Device Name: ' + device.name + '<br />' +
- 'Device PhoneGap: ' + device.phonegap + '<br />' +
- 'Device Platform: ' + device.platform + '<br />' +
- 'Device UUID: ' + device.uuid + '<br />' +
- 'Device Version: ' + device.version + '<br />';
- }
- </script>
- </head>
- <body>
- <p id="deviceProperties">Loading device properties...</p>
- </body>
- </html>
Android 的特異情況:
- 獲得產(chǎn)品名稱而非型號名稱。
- 產(chǎn)品名稱一般是在生產(chǎn)過程中設(shè)定的代碼名稱。
- 例如:Nexus One返回“Passion”,Motorola Droid返回“voles”。
iPhone 的特異情況:
- 獲得設(shè)備的定制名字而非設(shè)備型號名稱。
- 定制名稱是由所有者在iTunes中定制的。
- 例如“Joe's iPhone”。
獲取設(shè)備上正在運行的PhoneGap版本信息。
- var string = device.phonegap;
說明:
device.phonegap返回設(shè)備上正在運行的PhoneGap的版本號。
支持的平臺:
- Android
- BlackBerry
- BlackBerry WebWorks (OS 5.0或更高版本)
- iPhone
簡單的范例:
- var name = device.phonegap;
完整的范例:
- <!DOCTYPE html>
- <html>
- <head>
- <title>Device Properties Example</title>
- <script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
- <script type="text/javascript" charset="utf-8">
- // 等待加載PhoneGap
- document.addEventListener("deviceready", onDeviceReady, false);
- // PhoneGap加載完畢
- function onDeviceReady() {
- var element = document.getElementById('deviceProperties');
- element.innerHTML = 'Device Name: ' + device.name + '' +
- 'Device PhoneGap: ' + device.phonegap + '' +
- 'Device Platform: ' + device.platform + '' +
- 'Device UUID: ' + device.uuid + '' +
- 'Device Version: ' + device.version + '';
- }
- </script>
- </head>
- <body>
- <p id="deviceProperties">Loading device properties...</p>
- </body>
- </html>
獲得設(shè)備使用的操作系統(tǒng)名稱。
- var string = device.platform;
支持的平臺:
- Android
- BlackBerry
- BlackBerry WebWorks (OS 5.0或更高版本)
- iPhone
簡單的范例:
- // 根據(jù)不同的設(shè)備,下面是一些例子:
- // - "Android"
- // - "BlackBerry"
- // - "iPhone"
- // - "webOS"
- var devicePlatform = device.platform;
完整的范例:
- <!DOCTYPE html>
- <html>
- <head>
- <title>Device Properties Example</title>
- <script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
- <script type="text/javascript" charset="utf-8">
- // 等待加載PhoneGap
- document.addEventListener("deviceready", onDeviceReady, false);
- // PhoneGap加載完畢
- function onDeviceReady() {
- var element = document.getElementById('deviceProperties');
- element.innerHTML = 'Device Name: ' + device.name + '<br />' +
- 'Device PhoneGap: ' + device.phonegap + '<br />' +
- 'Device Platform: ' + device.platform + '<br />' +
- 'Device UUID: ' + device.uuid + '<br />' +
- 'Device Version: ' + device.version + '<br />';
- }
- </script>
- </head>
- <body>
- <p id="deviceProperties">Loading device properties...</p>
- </body>
- </html>
iPhone的特異情況:
- 所有設(shè)備均返回iPhone,但這是不準確的,因為Apple已經(jīng)將iPhone的操作系統(tǒng)更名為iOS。
BlackBerry 的特異情況:
- 設(shè)備會返回設(shè)備的平臺版本號而非平臺名。例如Storm2 9550將返回“2.13.0.95” 或類似的信息。
獲得設(shè)備的全球***標識符(UUID)。
- var string = device.uuid;
說明:
- UUID是由設(shè)備生產(chǎn)商及特定設(shè)備平臺或型號所決定的。
支持的平臺:
- Android
- BlackBerry
- BlackBerry WebWorks (OS 5.0或更高版本)
- iPhone
簡單的范例:
- // Android: 返回隨機的64位整數(shù)(作為字符串)
- // 這個整數(shù)在設(shè)備***次啟動時生成
- // BlackBerry: 返回設(shè)備的PIN碼
- // 這是一個九位數(shù)的***證書(作為字符串)
- // iPhone: (從UIDevice類文檔中轉(zhuǎn)述)
- // 返回由多個硬件設(shè)備標示所生成的哈希值。
- // 這是為了保證每一臺設(shè)備是***的,因此不能和用戶賬號相關(guān)聯(lián)。
- var deviceID = device.uuid;
完整的范例:
- <!DOCTYPE html>
- <html>
- <head>
- <title>Device Properties Example</title>
- <script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
- <script type="text/javascript" charset="utf-8">
- // 等待加載PhoneGap
- document.addEventListener("deviceready", onDeviceReady, false);
- // PhoneGap加載完畢
- function onDeviceReady() {
- var element = document.getElementById('deviceProperties');
- element.innerHTML = 'Device Name: ' + device.name + '<br />' +
- 'Device PhoneGap: ' + device.phonegap + '<br />' +
- 'Device Platform: ' + device.platform + '<br />' +
- 'Device UUID: ' + device.uuid + '<br />' +
- 'Device Version: ' + device.version + '<br />';
- }
- </script>
- </head>
- <body>
- <p id="deviceProperties">Loading device properties...</p>
- </body>
- </html>
- 獲得操作系統(tǒng)的版本號。
- var string = device.version;
支持的平臺:
- Android
- BlackBerry
- BlackBerry WebWorks (OS 5.0或更高版本)
- iPhone
簡單的范例:
- // Android: Froyo 返回 2.2
- // Eclair 返回2.1,2.01或2.0
- // 版本也有可能返回更新級別“2.1-update1”
- // BlackBerry: 使用OS 4.6的Bold 9000返回“4.6.0.282”
- // iPhone: iOS 3.2 返回 “3.2”
- var deviceVersion = device.version;
完整的范例:
- <!DOCTYPE html>
- <html>
- <head>
- <title>Device Properties Example</title>
- <script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
- <script type="text/javascript" charset="utf-8">
- // 等待加載PhoneGap
- document.addEventListener("deviceready", onDeviceReady, false);
- // PhoneGap加載完畢
- function onDeviceReady() {
- var element = document.getElementById('deviceProperties');
- element.innerHTML = 'Device Name: ' + device.name + '<br />' +
- 'Device PhoneGap: ' + device.phonegap +'<br />' +
- 'Device Platform: ' + device.platform + '<br />' +
- 'Device UUID: ' + device.uuid + '<br />' +
- 'Device Version: ' + device.version +'<br />';
- }
- </script>
- </head>
- <body onload="onLoad()">
- <p id="deviceProperties">Loading device properties...</p>
- </body>
- </html>