Exemple de compas Android

Je recherche un exemple de compas pour Android. Tout ce que je dois faire est d'obtenir le bon palier (en mode portrait et paysage).

J'ai déjà trouvé plusieurs échantillons, certains utilisent seulement Sensor.TYPE_ORIENTATION , certains utilisent une combinaison de Sensor.TYPE_ACCELEROMETER & Sensor.TYPE_MAGNETIC_FIELD .

Quelle est la façon correcte et courante d'obtenir l'incidence, disons Android 1.6 – 4.0?

  • Obtenir un emplacement sans les services Google Play - Android
  • Obtenir des coordonnées GPS plus rapidement sans internet, mais en utilisant un fournisseur de réseau et un GPS mobile
  • Navigator.geolocation.getCurrentPosition ne fonctionne pas sur Android google chrome
  • L'icône GPS clignote encore après locationManager.removeUpdates () et en définissant locationManager à null
  • Convertit GeoPoint vers l'emplacement
  • Quels appareils prennent en charge la lecture de la vitesse de géolocalisation dans leurs navigateurs?
  • Accéléromètre et précision gyro dans différents appareils mobiles
  • Quelle est la précision du monde réel des accéléromètres du téléphone lorsqu'il est utilisé pour le positionnement?
  • 3 Solutions collect form web for “Exemple de compas Android”

    Sensor.TYPE_ORIENTATION est obsolète.

    La documentation indique que vous devriez utiliser SensorManager.getOrientation() place.

    Vous devriez donc lire à partir de Sensor.TYPE_ACCELEROMETER ainsi que de Sensor.TYPE_MAGNETIC_FIELD , puis appeler SensorManager.getRotationMatrix() et enfin SensorManager.getOrientation() qui vous SensorManager.getOrientation() l'orientation du téléphone.

    De là, si vous voyez ce diagramme, il est banal d'obtenir l'orientation du téléphone. C'est probablement ce que fait votre deuxième exemple, mais je ne sais pas parce que vous ne m'avez pas montré ce que c'est.

    Merci à Dan pour son exemple de code.

    Mais il y a juste une petite correction : changez event.values à event.values.clone() selon cette discussion .
    Cela fonctionne pour moi maintenant après cette modification.

    En utilisant une combinaison de Sensor.TYPE_ACCELEROMETER et Sensor.TYPE_MAGNETIC_FIELD et SensorManager.getOrientation() ne me donne pas de valeurs précises. La méthode obsolète Sensor.TYPE_ORIENTATION fonctionne bien. 🙂

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