IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Comment savoir si l'utilisateur penche en avant ou en arrière le téléphone?


Sujet :

Android

  1. #1
    Membre éclairé
    Avatar de ZouBi
    Inscrit en
    Octobre 2007
    Messages
    508
    Détails du profil
    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 508
    Points : 812
    Points
    812
    Par défaut Comment savoir si l'utilisateur penche en avant ou en arrière le téléphone?
    Bonjour,
    je souhaite savoir dans l'application si l'utilisateur penche le téléphone en avant ou en arrière.

    Admettons que l'utilisateur prenne le téléphone en mode portrait face à lui, comme un volant. A partir de cela, j'aimerai savoir l'inclinaison du téléphone selon s'il est penché en avant, ou en arrière...

    J'utilise donc le capteur TYPE_ORIENTATION; et dans la fonction onSensorChanged, je récupère la valeur du 'roll'.

    Ainsi, quand l'utilisateur tiens bien vertical le téléphone, la valeur du roll est à 90°. Cependant, qu'il le penche en avant ou en arrière, ce nombre va tendre vers 0 (position à plat), donc impossible de savoir dans quelle direction il est allé (en avant, ou arrière?).

    Ma question est, comment donc savoir cette information?

  2. #2
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    Bonjour,

    Je pense que tu trouveras ton bonheur ici :

    http://developer.android.com/referen...nsorEvent.html

    public final float[] values

    Since: API Level 3
    The length and contents of the values array depends on which sensor type is being monitored (see also SensorEvent for a definition of the coordinate system used).

    Sensor.TYPE_GRAVITY:

    A three dimensional vector indicating the direction and magnitude of gravity. Units are m/s^2. The coordinate system is the same as is used by the acceleration sensor.
    Note: When the device is at rest, the output of the gravity sensor should be identical to that of the accelerometer.
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

  3. #3
    Membre éclairé
    Avatar de ZouBi
    Inscrit en
    Octobre 2007
    Messages
    508
    Détails du profil
    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 508
    Points : 812
    Points
    812
    Par défaut
    Merci, mais je comprends pas quoi la gravité pourra m'aider...

  4. #4
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    Merci, mais je comprends pas quoi la gravité pourra m'aider...
    Personnellement, je n'ai jamais utiliser les Sensor, je pensais que peut être la Gravity pouvait t'intéresser.

    Sinon si on reste sur le TYPE_ORIENTATION

    All values are angles in degrees.
    values[0]: Azimuth, angle between the magnetic north direction and the y-axis, around the z-axis (0 to 359). 0=North, 90=East, 180=South, 270=West
    values[1]: Pitch, rotation around x-axis (-180 to 180), with positive values when the z-axis moves toward the y-axis.
    values[2]: Roll, rotation around y-axis (-90 to 90), with positive values when the x-axis moves toward the z-axis.
    Note: This definition is different from yaw, pitch and roll used in aviation where the X axis is along the long side of the plane (tail to nose).
    Note: This sensor type exists for legacy reasons, please use getRotationMatrix() in conjunction with remapCoordinateSystem() and getOrientation() to compute these values instead.
    Important note: For historical reasons the roll angle is positive in the clockwise direction (mathematically speaking, it should be positive in the counter-clockwise direction).

    Il indique qu'il faudrait utiliser GetOrientation(), getRotationMatrix() et remapCoordinateSystem().

    J'ai trouvé un tutoriel parlant du sujet .

    http://blogah.arvyoo.com/2011/02/and...du-smartphone/
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

  5. #5
    Membre éclairé
    Avatar de ZouBi
    Inscrit en
    Octobre 2007
    Messages
    508
    Détails du profil
    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 508
    Points : 812
    Points
    812
    Par défaut
    Merci beaucoup pour ton lien !
    En effet, maintenant, l'information concernant la rotation est mieux récupéré et tout est ok !

  6. #6
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par ZouBi Voir le message
    Merci, mais je comprends pas quoi la gravité pourra m'aider...
    Ben si... la gravité est toujours vers le bas...
    Si le vecteur indiqué pointe vers l'avant du téléphone, c'est que celui ci a le haut penché vers le bas....
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  7. #7
    Membre éclairé
    Avatar de ZouBi
    Inscrit en
    Octobre 2007
    Messages
    508
    Détails du profil
    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 508
    Points : 812
    Points
    812
    Par défaut
    Merci, mais finalement, le lien donné et donc la nouvelle méthode (getOrientation) de Android permet de s'abstraire de tout ça.

Discussions similaires

  1. Réponses: 1
    Dernier message: 10/04/2010, 20h37
  2. Réponses: 2
    Dernier message: 11/03/2010, 20h26
  3. Réponses: 5
    Dernier message: 02/06/2008, 16h03
  4. Comment savoir la taille d'un message avant l'envois!
    Par starsat4200 dans le forum Outlook
    Réponses: 1
    Dernier message: 22/05/2008, 17h27
  5. Réponses: 4
    Dernier message: 08/03/2008, 15h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo