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

Je crée une application dans phonegap pour les trois plates-formes différentes: Android, iOS et Blackberry. Pendant ce temps, je dois détecter le type de périphérique afin que je puisse gérer la taille 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 …

  • Le projet Javadoc pour Android dans Eclipse échoue avec NullPointerException
  • Android; MapView, comment puis-je définir un emplacement par défaut?
  • Empêcher d'annuler le mode Action en appuyant sur le bouton Précédent
  • Animation entre les activités et les vues partagées: glitchy / hack à la fin de l'animation?
  • Geocoder.getFromLocation lance IOException sur l'émulateur Android
  • Quelle est l'alternative pour Canvas.getMatrix () obsolète?
  • Android L ignore les formes en arrière-plan dessiné
  • Comment référencer l'attribut de couleur dans Drawable?
  • Gestion des modifications d'ID d'enregistrement dans Google Cloud Messaging sur Android
  • Comment puis-je obtenir une fonctionnalité de zoom pour les images?
  • Annotation @Override dans Android
  • Android Pros et Contras: Event Bus et RxJava
  • 9 Solutions collect form web for “PhoneGap – Détecter le type d'appareil dans phonegap”

    Si vous souhaitez obtenir un type de périphérique avant onDeviceReady, vous pouvez obtenir cela.

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

    Nouveau dans Phonegap, et le plus simple, c'est que vous pouvez utiliser le device.platform:

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

    Vous pouvez utiliser la propriété device.name pour obtenir les 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; } 

    Utilisez ce code comme votre fichier html

    Exemple de propriétés du 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 ceci dans l'appareil Best Of Luck Aamirkhan I.

    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 infos sur les périphériques depuis Phonegap.

    Une autre option est de regarder le type de navigateur. (IE = WP7, Safari = iOS, …)

    Je ne sais pas si vous pourrez détecter si vous êtes sur un téléphone Android ou une tablette … De toute façon, vos applications html devraient pouvoir gérer toute résolution d'écran. Vous pouvez également avoir différentes résolutions sur les téléphones!

     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

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

    Utilisez Google pour trouver des informations sur "conception réactive avec CSS"

    Je n'utiliserais certainement pas le type de périphérique lors de la mise en page, la mise en page devrait être basée uniquement sur la taille de l'écran

    Vous pouvez utiliser les propriétés javascript:

     width = window.innerWidth height = window.innerHeight 

    Ou utiliser CSS:

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

    Voir vmin, vmax, vh, vw

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.