web-dev-qa-db-fra.com

PhoneGap - Détecter le type d'appareil dans phonegap

Je construis une application dans phonegap pour les trois plates-formes différentes: Android, iOS et Blackberry. Ce faisant, je dois détecter le type d'appareil pour pouvoir gérer la hauteur et la largeur de mon application sur différentes plates-formes et pour différents appareils comme Android Phone, Android Tablet, iPhone, iPad et Blackberry ...

50
Preet_Android

si vous voulez obtenir le type de périphérique avant onDeviceReady, vous pouvez obtenir ceci.

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);
56
JDev

La nouveauté de Phonegap, et la plus simple, est que vous pouvez utiliser le device.platform:

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

vous pouvez utiliser la propriété device.name pour obtenir des informations détaillées sur le périphérique.

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

ou pour obtenir uniquement la plate-forme, vous pouvez utiliser la propriété device.platform.

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

utiliser ce code comme ur fichier html 

Exemple de propriétés de périphérique

<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>

Chargement des propriétés du périphérique ...

je vous suggère de vérifier cela dans deviceBest Of Luck Aamirkhan I.

3
Aamirkhan

Vous pouvez consulter le lien suivant: http://docs.phonegap.com/fr/1.0.0/phonegap_device_device.md.html

Il existe plusieurs méthodes pour obtenir des informations sur les appareils à partir de phonegap.

Une autre option consiste à examiner le type de navigateur . (IE = WP7, Safari = iOS, ...)

Je ne sais pas si vous serez capable de détecter si vous êtes sur un téléphone ou une tablette Android .... De toute façon, vos applications html devraient pouvoir prendre en charge toute résolution d'écran .. ... Vous pouvez avoir différentes résolutions à la les téléphones aussi!

1

Si vous avez besoin de ces informations parce que vous essayez de formater l'écran correctement, vous devez utiliser les requêtes CSS @media pour déterminer la disposition d'écran appropriée et appliquer CSS en conséquence.

Utilisez Google pour trouver des informations sur le "responsive design with CSS"

0
mr.subtle
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;

}

Voir ici pour device.platform

0
vikky