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 …

  • Comment faire pour json api
  • Comment afficher des caractères spéciaux (comme & ndash;) dans TextView?
  • Android - Comment prendre un EditText (nombres) puis le convertir en un entier pour l'utiliser pour les mathématiques?
  • Est-il possible d'utiliser le système de compilation Gradle pour Android avec Eclipse?
  • ViewPager avec Fragments dans PopupWindow (ou DialogFragment) - Erreur aucune vue trouvée pour id pour fragment
  • Comment supprimer les clés répétables, prévisualisation des touches du clavier personnalisé Android
  • Différence entre MICRO_KIND et MINI_KIND dans le médiateur dans Android?
  • Google Analytics avec Android: programmez ga_reportUncaughtExceptions par programme
  • Est-il possible de voir les données de l'application de la coque adb de la même façon que je la vois monter la carte SD?
  • Otto vs LocalBroadcast:
  • Maven avec Android - génération de fichier R.java (Eclipse)
  • Erreur lors de l'utilisation de Robolectric pour tester ActionBarActivity
  • 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.