PhoneGap API介绍:Device

移动开发
本文将介绍PhoneGap API——Device:收集设备的具体信息。Device对象描述设备的硬件和软件。

属性

 变量作用域

由于device被分配到window对象,隐含说明其作用域为全局范围。

  1. // 下面两句引用了相同的“device”对象 
  2. var phoneName = window.device.name; 
  3. var phoneName = device.name; 

device.name

获得设备的型号名称。

  1. var string = device.name; 

说明

device.name返回设备的型号或产品名称。这个值是由设备制造商设定,可能同一产品的不同版本之间有所不同。

支持的平台

  • Android
  • BlackBerry
  • BlackBerry WebWorks (OS 5.0或更高版本)
  • iPhone

简单的范例

  1. // Android:    Nexus One       返回 "Passion" (Nexus One的代码名) 
  2. //             Motorola Droid  返回"voles" 
  3. // BlackBerry: Bold 8900       返回 "8900" 
  4. // iPhone:     所有设备都返回由iTunes设置的名称,如 "Joe's iPhone" 
  5. var name = device.name; 

完整的范例

  1. <!DOCTYPE html> 
  2. <html> 
  3. <head>     
  4. <title>Device Properties Example</title> 
  5.  
  6. <script type="text/javascript" charset="utf-8" src="phonegap.js"></script> 
  7. <script type="text/javascript" charset="utf-8"> 
  8.  
  9.     // 等待加载PhoneGap     
  10.     document.addEventListener("deviceready", onDeviceReady, false); 
  11.      
  12.     // PhoneGap加载完成 
  13.     function onDeviceReady() { 
  14.         var element = document.getElementById('deviceProperties'); 
  15.      
  16.         element.innerHTML = 'Device Name: '     + device.name     + '<br  />' + 
  17.                             'Device PhoneGap: ' + device.phonegap + '<br  />' + 
  18.                             'Device Platform: ' + device.platform + '<br  />' + 
  19.                             'Device UUID: '     + device.uuid     + '<br  />' + 
  20.                             'Device Version: '  + device.version  + '<br  />'; 
  21.     } 
  22.  
  23. </script> 
  24. </head> 
  25. <body> 
  26.     <p id="deviceProperties">Loading device properties...</p> 
  27. </body> 
  28. </html> 

Android 的特异情况

  • 获得产品名称而非型号名称。
  • 产品名称一般是在生产过程中设定的代码名称。
  • 例如:Nexus One返回“Passion”,Motorola Droid返回“voles”。

iPhone 的特异情况

  • 获得设备的定制名字而非设备型号名称。
  • 定制名称是由所有者在iTunes中定制的。
  • 例如“Joe's iPhone”。

device.phonegap

获取设备上正在运行的PhoneGap版本信息。

  1. var string = device.phonegap; 

说明

device.phonegap返回设备上正在运行的PhoneGap的版本号。

支持的平台

  • Android
  • BlackBerry
  • BlackBerry WebWorks (OS 5.0或更高版本)
  • iPhone

简单的范例

  1. var name = device.phonegap; 

完整的范例

  1. <!DOCTYPE html> 
  2. <html> 
  3. <head>     
  4. <title>Device Properties Example</title> 
  5.  
  6. <script type="text/javascript" charset="utf-8" src="phonegap.js"></script> 
  7. <script type="text/javascript" charset="utf-8"> 
  8.  
  9.     // 等待加载PhoneGap 
  10.     document.addEventListener("deviceready", onDeviceReady, false); 
  11.      
  12.     // PhoneGap加载完毕 
  13.     function onDeviceReady() { 
  14.         var element = document.getElementById('deviceProperties'); 
  15.      
  16.         element.innerHTML = 'Device Name: '     + device.name     + '' +         
  17.                             'Device PhoneGap: ' + device.phonegap + '' +                             
  18.                             'Device Platform: ' + device.platform + '' +                             
  19.                             'Device UUID: '     + device.uuid     + '' +                             
  20.                             'Device Version: '  + device.version  + ''; 
  21.     } 
  22.  
  23. </script> 
  24. </head> 
  25. <body> 
  26.     <p id="deviceProperties">Loading device properties...</p> 
  27. </body> 
  28. </html> 

device.platform

获得设备使用的操作系统名称。

  1. var string = device.platform; 

支持的平台

  • Android
  • BlackBerry
  • BlackBerry WebWorks (OS 5.0或更高版本)
  • iPhone

简单的范例

  1. // 根据不同的设备,下面是一些例子: 
  2. //   - "Android" 
  3. //   - "BlackBerry" 
  4. //   - "iPhone" 
  5. //   - "webOS" 
  6. var devicePlatform = device.platform; 

完整的范例

  1. <!DOCTYPE html> 
  2. <html> 
  3. <head>     
  4. <title>Device Properties Example</title> 
  5.  
  6. <script type="text/javascript" charset="utf-8" src="phonegap.js"></script> 
  7. <script type="text/javascript" charset="utf-8"> 
  8.  
  9.     // 等待加载PhoneGap 
  10.     document.addEventListener("deviceready", onDeviceReady, false); 
  11.      
  12.     // PhoneGap加载完毕 
  13.     function onDeviceReady() { 
  14.         var element = document.getElementById('deviceProperties'); 
  15.      
  16.         element.innerHTML = 'Device Name: '     + device.name     + '<br  />' + 
  17.                             'Device PhoneGap: ' + device.phonegap + '<br  />' + 
  18.                             'Device Platform: ' + device.platform + '<br  />' + 
  19.                             'Device UUID: '     + device.uuid     + '<br  />' + 
  20.                             'Device Version: '  + device.version  + '<br  />'; 
  21.     } 
  22.  
  23. </script> 
  24. </head> 
  25. <body> 
  26.     <p id="deviceProperties">Loading device properties...</p> 
  27. </body> 
  28. </html> 


iPhone的特异情况:

  • 所有设备均返回iPhone,但这是不准确的,因为Apple已经将iPhone的操作系统更名为iOS。

BlackBerry 的特异情况:

  • 设备会返回设备的平台版本号而非平台名。例如Storm2 9550将返回“2.13.0.95” 或类似的信息。

device.uuid

获得设备的全球***标识符(UUID)。

  1. var string = device.uuid; 

说明

  • UUID是由设备生产商及特定设备平台或型号所决定的。

支持的平台

  • Android
  • BlackBerry
  • BlackBerry WebWorks (OS 5.0或更高版本)
  • iPhone

简单的范例

  1. // Android: 返回随机的64位整数(作为字符串) 
  2. //        这个整数在设备***次启动时生成 
  3. // BlackBerry: 返回设备的PIN码 
  4. //         这是一个九位数的***证书(作为字符串) 
  5. // iPhone: (从UIDevice类文档中转述) 
  6. //        返回由多个硬件设备标示所生成的哈希值。 
  7. //    这是为了保证每一台设备是***的,因此不能和用户账号相关联。 
  8. var deviceID = device.uuid; 

完整的范例

  1. <!DOCTYPE html> 
  2. <html> 
  3. <head>     
  4. <title>Device Properties Example</title> 
  5.  
  6. <script type="text/javascript" charset="utf-8" src="phonegap.js"></script> 
  7. <script type="text/javascript" charset="utf-8"> 
  8.  
  9.     // 等待加载PhoneGap 
  10.     document.addEventListener("deviceready", onDeviceReady, false); 
  11.      
  12.     // PhoneGap加载完毕 
  13.     function onDeviceReady() { 
  14.         var element = document.getElementById('deviceProperties'); 
  15.      
  16.         element.innerHTML = 'Device Name: '     + device.name     + '<br  />' + 
  17.                             'Device PhoneGap: ' + device.phonegap + '<br  />' + 
  18.                             'Device Platform: ' + device.platform + '<br  />' + 
  19.                             'Device UUID: '     + device.uuid     + '<br  />' + 
  20.                             'Device Version: '  + device.version  + '<br  />'; 
  21.     } 
  22.  
  23. </script> 
  24. </head> 
  25. <body> 
  26.     <p id="deviceProperties">Loading device properties...</p> 
  27. </body> 
  28. </html> 

device.version

  • 获得操作系统的版本号。
    1. var string = device.version; 

支持的平台

  • Android
  • BlackBerry
  • BlackBerry WebWorks (OS 5.0或更高版本)
  • iPhone

简单的范例

  1. // Android:     Froyo 返回 2.2 
  2. //        Eclair 返回2.1,2.01或2.0 
  3. //        版本也有可能返回更新级别“2.1-update1” 
  4. // BlackBerry: 使用OS 4.6的Bold 9000返回“4.6.0.282” 
  5. // iPhone:      iOS 3.2 返回 “3.2” 
  6. var deviceVersion = device.version; 

完整的范例

  1. <!DOCTYPE html> 
  2. <html> 
  3. <head>     
  4. <title>Device Properties Example</title> 
  5.  
  6. <script type="text/javascript" charset="utf-8" src="phonegap.js"></script> 
  7. <script type="text/javascript" charset="utf-8"> 
  8.  
  9.     // 等待加载PhoneGap 
  10.     document.addEventListener("deviceready", onDeviceReady, false); 
  11.      
  12.     // PhoneGap加载完毕 
  13.     function onDeviceReady() { 
  14.         var element = document.getElementById('deviceProperties'); 
  15.      
  16.         element.innerHTML = 'Device Name: '     + device.name     + '<br  />' + 
  17.                             'Device PhoneGap: ' + device.phonegap +'<br  />' + 
  18.                             'Device Platform: ' + device.platform + '<br  />' + 
  19.                             'Device UUID: '     + device.uuid     + '<br  />' + 
  20.                             'Device Version: '  + device.version  +'<br  />'; 
  21.     } 
  22.  
  23. </script> 
  24. </head> 
  25. <body onload="onLoad()"> 
  26.     <p id="deviceProperties">Loading device properties...</p> 
  27. </body> 
  28. </html> 

 

责任编辑:佚名 来源: PhoneGap中国
相关推荐

2011-12-30 13:59:38

PhoneGap APDevice视频

2011-12-20 11:20:46

PhoneGap APCompass

2011-12-19 16:09:32

PhoneGap APCamera

2011-12-22 09:27:36

PhoneGap APGeolocation

2011-12-22 10:33:39

PhoneGap APNotificatio

2011-12-22 10:45:32

PhoneGap APStorage

2011-12-20 13:32:52

PhoneGap APContacts

2011-12-21 21:56:45

PhoneGap APFile

2011-12-20 15:34:55

PhoneGap APConnection

2011-12-19 16:26:39

PhoneGap APCapture

2011-12-19 15:30:25

AccelerometPhoneGap AP

2011-12-22 09:54:40

PhoneGap APMedia

2011-12-20 17:15:52

PhoneGap APEvents

2011-12-30 13:47:57

PhoneGap AP视频Contacts

2011-12-30 14:09:32

PhoneGap APCompass视频

2011-12-30 14:05:17

PhoneGap APConnection视频

2011-12-30 14:13:05

PhoneGap APCamera视频

2011-12-30 14:16:02

AccelerometPhoneGap AP视频

2011-09-13 10:40:25

PhoneGap AP

2011-07-05 17:29:53

PhoneGapevents
点赞
收藏

51CTO技术栈公众号