我正在为三个不同的平台构建一个phonegap应用程序:Android,iOS和Blackberry。在这样做时,我必须检测设备类型,以便我可以在不同平台和Android手机,Android平板电脑,iPhone,iPad和Blackberry等不同设备上管理我的应用程序的高度和宽度......
答案 0 :(得分:94)
Phonegap中的新功能,最简单的是,您可以使用device.platform:
// Depending on the device, a few examples are:
// - "Android"
// - "BlackBerry"
// - "iOS"
// - "webOS"
// - "WinCE"
// - "Tizen"
// - "browser"
var devicePlatform = device.platform;
答案 1 :(得分:56)
如果你想在onDeviceReady之前获得设备类型,你可以这样做。
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);
答案 2 :(得分:34)
cordova.platformId
// "android"
答案 3 :(得分:5)
您可以使用device.name属性获取有关设备的详细信息。
function onDeviceReady() {
var name=device.name ;
}
或只获取平台,您可以使用device.platform属性。
function onDeviceReady() {
var name=device.name ;
var plat=device.platform;
}
答案 4 :(得分:3)
将此代码用作ur 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>
加载设备属性......
我建议你在设备中检查一下 最好的运气 Aamirkhan我。
答案 5 :(得分:1)
您可以查看以下链接: http://docs.phonegap.com/en/1.0.0/phonegap_device_device.md.html
有几种方法可以从phonegap获取设备信息。
另一个选择是查看浏览器类型。 (IE = WP7,Safari = iOS,...)
我不确定您是否能够检测到您是否使用Android手机或平板电脑...... 无论如何,你的HTML应用程序应该能够处理任何屏幕分辨率。 您也可以在手机上使用不同的分辨率!
答案 6 :(得分:0)
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
答案 7 :(得分:0)
如果您需要此信息,因为您正在尝试正确格式化屏幕 - 您应该使用CSS @media查询来确定适当的屏幕布局并相应地应用CSS。
使用Google查找“使用CSS进行响应式设计”的信息
答案 8 :(得分:-2)
我在布局页面时肯定不会使用设备类型,布局应仅基于屏幕尺寸
您可以使用javascript属性:
width = window.innerWidth
height = window.innerHeight
或使用CSS:
.element{
height: 50vh; //(height = 50 percent of screen)
}
见vmin,vmax,vh,vw