PhoneGap – 手机中检测设备types

我正在为三种不同的平台构build一个手机应用程序:Android,iOS和Blackberry。 虽然这样做,我必须检测设备types,以便我可以pipe理在不同平台上的应用程序的高度和宽度,并为Android手机,Android平板电脑,iPhone,iPad和黑莓等不同的设备…

如果你想在onDeviceReady之前获得设备types,你可以像这样获得。

var deviceType = (navigator.userAgent.match(/iPad/i)) == "iPad" ? "iPad" : (navigator.userAgent.match(/iPhone/i)) == "iPhone" ? "iPhone" : (navigator.userAgent.match(/Android/i)) == "Android" ? "Android" : (navigator.userAgent.match(/BlackBerry/i)) == "BlackBerry" ? "BlackBerry" : "null"; alert(deviceType); 

Phonegap中的新function是最简单的,您可以使用device.platform:

 // Depending on the device, a few examples are: // - "Android" // - "BlackBerry" // - "iOS" // - "webOS" // - "WinCE" // - "Tizen" // - "browser" var devicePlatform = device.platform; 
 cordova.platformId // "android" 

您可以使用device.name属性来获取有关设备的详细信息。

  function onDeviceReady() { var name=device.name ; } 

或者只获取可以使用device.platform属性的平台。

  function onDeviceReady() { var name=device.name ; var plat=device.platform; } 

使用此代码作为您的HTML文件

设备属性示例

 <script type="text/javascript" charset="utf-8" src="phonegap-1.0.0.js"></script> <script type="text/javascript" charset="utf-8"> // Wait for PhoneGap to load // document.addEventListener("deviceready", onDeviceReady, false); // PhoneGap is ready // 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> 

加载设备属性…

我build议你检查这个设备运气最好的Aamirkhan一。

你可以看看下面的链接: http : //docs.phonegap.com/en/1.0.0/phonegap_device_device.md.html

有几种方法从phonegap获取设备信息。

另一种select是查看浏览器types。 (IE = WP7,Safari = iOS,…)

我不知道你是否能够检测到你是否在Android手机或平板电脑…无论如何,你的HTML应用程序应该能够处理任何屏幕分辨率。 在手机上也可以有不同的分辨率!

 function onDeviceReady() { // ***IMPORTANT: access device object only AFTER "deviceready" event document.getElementById("name").innerHTML = device.name; document.getElementById("pgversion").innerHTML = device.cordova ? device.cordov:device.phonegap; document.getElementById("platform").innerHTML = device.platform; document.getElementById("uuid").innerHTML = device.uuid; document.getElementById("version").innerHTML = device.version; } 

请参阅此处了解device.platform

如果您需要这些信息,因为您正在尝试格式化屏幕 – 您应该使用CSS @media查询来确定相应的屏幕布局并相应地应用CSS。

使用Google查找“使用CSS进行快速响应devise”

布局页面时,我肯定不会使用设备types,布局应该仅基于屏幕大小

你可以使用javascript的属性:

 width = window.innerWidth height = window.innerHeight 

或使用CSS:

 .element{ height: 50vh; //(height = 50 percent of screen) } 

见vmin,vmax,vh,vw