Я создаю приложение в телефоне для трех разных платформ: Android, iOS и Blackberry. При этом мне нужно определить тип устройства, чтобы я мог управлять высотой и шириной моего приложения на разных платформах и для разных устройств, таких как Android Phone, Android Tablet, iPhone, iPad и Blackberry...
PhoneGap - определение типа устройства в телефонной зазоре
Ответ 1
если вы хотите получить тип устройства до 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
Новое в Phonegap и самое простое - это то, что вы можете использовать device.platform:
// Depending on the device, a few examples are:
// - "Android"
// - "BlackBerry"
// - "iOS"
// - "webOS"
// - "WinCE"
// - "Tizen"
// - "browser"
var devicePlatform = device.platform;
Ответ 3
cordova.platformId
// "android"
Ответ 4
вы можете использовать свойство device.name, чтобы получить подробную информацию об устройстве.
function onDeviceReady() {
var name=device.name ;
}
или получить только платформу, вы можете использовать свойство device.platform.
function onDeviceReady() {
var name=device.name ;
var plat=device.platform;
}
Ответ 5
используйте этот код как 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 I.
Ответ 6
Вы можете посмотреть следующую ссылку: http://docs.phonegap.com/en/1.0.0/phonegap_device_device.md.html
Существует несколько способов получить информацию об устройстве из телефонной заставки.
Другой вариант - посмотреть тип браузера. (IE = WP7, Safari = iOS,...)
Я не уверен, сможете ли вы определить, находитесь ли вы на телефоне или планшете Android... В любом случае ваши html-приложения должны иметь возможность обрабатывать любое разрешение экрана. У вас также могут быть разные разрешения на телефонах!
Ответ 7
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
Ответ 8
Если вам нужна эта информация, потому что вы пытаетесь отформатировать экран правильно - вы должны использовать запросы CSS @media, чтобы определить соответствующий макет экрана и соответствующим образом применить CSS.
Используйте Google, чтобы найти информацию о "отзывчивом дизайне с CSS"
Ответ 9
i, конечно, НЕ использовать тип устройства при раскладке страницы, макет должен основываться только на размере экрана
вы можете использовать свойства javascript:
width = window.innerWidth
height = window.innerHeight
или используйте CSS:
.element{
height: 50vh; //(height = 50 percent of screen)
}
см. vmin, vmax, vh, vw