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 :

Détection des mouvements d'un téléphone Android


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Etudiant du Genie Logiciel
    Inscrit en
    Juillet 2011
    Messages
    397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Etudiant du Genie Logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2011
    Messages : 397
    Par défaut Détection des mouvements d'un téléphone Android
    salut a tous. comment détecter si un téléphone Androïde est en mouvement ou immobile ?

  2. #2
    Membre très actif
    Homme Profil pro
    Ingénieur Informatique et Développeur Android
    Inscrit en
    Janvier 2010
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur Informatique et Développeur Android

    Informations forums :
    Inscription : Janvier 2010
    Messages : 384
    Par défaut
    peut être une solution de capter les cordonnées gps lal et long et de créer un thread que teste s'il y a un changement entre les cordonnées actuelles et celle précedents si oui --> mobile en mouvement si nn mobile immobile

    je ne sais pas si la bonne solution ou nn .

  3. #3
    Expert confirmé

    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
    Par défaut
    Salut,

    Encore mieux utiliser les capteurs d'accélération.

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    757
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 757
    Par défaut
    Ou même on peut aller jusqu'à utiliser la nouvelle API de reconnaissance d'activité : http://developer.android.com/trainin...cognition.html
    Ce service te permet de savoir si tu es sur ton vélo/en voiture/immobile/en train de secouer ton téléphone/...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    int	IN_VEHICLE	The device is in a vehicle, such as a car.
    String	NULL	
    int	ON_BICYCLE	The device is on a bicycle.
    int	ON_FOOT	The device is on a user who is walking or running.
    int	STILL	The device is still (not moving).
    int	TILTING	The device angle relative to gravity changed significantly.
    int	UNKNOWN	Unable to detect the current activity.

  5. #5
    Membre éprouvé
    Inscrit en
    Décembre 2007
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Décembre 2007
    Messages : 94
    Par défaut
    Ta question peut avoir des réponses qui vont pas avec tes attentes. Tu peux vouloir par exemple savoir si le téléphone porté par un utilisateur est en mouvement avec lui (peut être dans sa poche). Je te recommande là de te te pencher sur la solution de Simon.
    Tu peux aussi vouloir savoir si un téléphone est immobile (posé sur un table quelque part) ou si un utilisateur l'a en main en train de le bouger.

    Tu peux t'y prendre alors comme suit si c'est ce que tu veux.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    float motion = (float)2; //Constante pour définir l'intensité du mouvement
    float x,y,z = 0;
    float  lx,ly,lz = 0;
    long lastUpdate=-1;
    long curtime=-1;
     
    //déclares un gestionnaire de capteur
    SensorManager sm = (SensorManager)getSystemService(SENSOR_SERVICE);
     
    //enregistres un listener pour ton gestionnaire de capteur (ici on teste directement si le telephone supporte le capteur que tu souhaite manipuler)
    boolean accelSupport = sm.registerListener(this, sm.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_GAME);
           if (!accelSupport){
            	sm.unregisterListener(this,sm.getDefaultSensor(Sensor.TYPE_ACCELEROMETER));
            }
     
    //Ici le code qui permet de détecter si le phone est a bougé.
    @Override
    	public void onSensorChanged(SensorEvent event) {
    		switch (event.sensor.getType()) {
    		case Sensor.TYPE_ACCELEROMETER:
    			if isInMotion(event){
    				//Faire le traitement que tu souhaites quand ton téléphone bouge
    			};
    			break;		
    		}
    	}
     
    public boolean isInMotion(SensorEvent e){
     
    		curtime = System.currentTimeMillis();
    		x = e.values[0];
    		y = e.values[1];
    		z = e.values[2];
     
    		if((curtime-lastUpdate)>100){
    			lx=x;
    			ly=y;
    			lz=z;
    			lastUpdate =curtime;
    		}				
     
    		return ((Math.abs(lx-x)>motion)||(Math.abs(ly-y)>motion)||(Math.abs(lz-z)>motion));
    	}

  6. #6
    Membre éclairé
    Homme Profil pro
    Etudiant du Genie Logiciel
    Inscrit en
    Juillet 2011
    Messages
    397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Etudiant du Genie Logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2011
    Messages : 397
    Par défaut l'intensite du mouvement
    salut a tous. SVP , j'aimerai plus d'ample explications sur la méthode que vous m'avez fourni surtout sur l’intensité du mouvement

Discussions similaires

  1. Réponses: 0
    Dernier message: 28/04/2010, 18h21
  2. Réponses: 17
    Dernier message: 29/09/2009, 18h20
  3. Réponses: 0
    Dernier message: 26/09/2009, 22h36
  4. Réponses: 8
    Dernier message: 25/09/2009, 17h15
  5. Réponses: 0
    Dernier message: 24/09/2009, 13h00

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