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 :

Collecte d'information de localisation


Sujet :

Android

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Février 2013
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Février 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Collecte d'information de localisation
    Bonsoir,
    J'ai en projet le développement d'une application qui collecte des informations Wifi/BT/nfc/locate. J'ai pour le moment réussi à collecter les informations wifi et bt avec des WifiManager/BluetoothManager et des BroadcastReceivers.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    		IntentFilter filterWifi = new IntentFilter();
    		filterWifi.addAction(WiMa.WIFI_STATE_CHANGED_ACTION);
    		filterWifi.addAction(WiMa.NETWORK_STATE_CHANGED_ACTION);
    		registerReceiver(mReceiverWifi, filterWifi);
    J'ai essayer de suivre la même logique pour les informations de géolocalisation avec LocationManager et un BroadcastReceiver.
    J'aimerais qu'au moment où une nouvelle position GPS(ok)/NETWORK(ok)/PASSIVE(quesako?) est détecté, la collecter et ne conserver que la plus récente.
    J'ai déjà commencé à voir avec requestLocationUpdates seulement je ne suis pas sur que cette méthode réponde à mon attente. J'aimerai collecter la localisation Network quand je change d'antenne réseaux ou quand je me connecte en wifi et pour les localisations GPS uniquement si une autre application l'utilise, mon application ne doit pas être énergivore donc pas de GPS.

    Je débute en Android/Java et plus je progresse plus je pense que mon appli sera un service qui s'active au boot d'où mes contraintes de gestion d’énergie.

    J'aimerais avoir vos avis et vos conseils car j'ai passé l'aprem à bouquiner la doc et là je sèche .

    Actuellement j'ai ça qui ne fonctionne pas comme je voudrais: ( je ne rentre dans onReceive que si j'active ou désactive le GPS et les résultats sont presque tout le temps null )

    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
     
        public void onCreate(Bundle savedInstanceState)
    	{
    		    super.onCreate(savedInstanceState);
    		    setContentView(R.layout.main);
     
    		localisationRES=(TextView) findViewById (R.id.localisationRES);
    		localisationGPS=(TextView) findViewById (R.id.localisationGPS);
    		localisationPAS=(TextView) findViewById (R.id.localisationPAS);
     
    		LoMa= (LocationManager) this.getSystemService(LOCATION_SERVICE);
     
    		IntentFilter filterLo = new IntentFilter();
    		filterLo.addAction(LocationManager.KEY_LOCATION_CHANGED);
    		filterLo.addAction(LocationManager.PROVIDERS_CHANGED_ACTION);
    		registerReceiver( mReceiverLo  , filterLo);
    	}
     
    private class my_ReceiverLo extends BroadcastReceiver
    	{
    		@Override
    		public void onReceive(Context context, Intent intent)
    		{
    		if (LoMa.getLastKnownLocation(LocationManager.NETWORK_PROVIDER)!=null)
    			LocalisationRES.setText("Réseaux:"+"Latitude="+LoMa.getLastKnownLocation(LocationManager.NETWORK_PROVIDER).getLatitude()+"Longitude="+LoMa.getLastKnownLocation(LocationManager.NETWORK_PROVIDER).getLongitude());
    		else
    			localisationRES.setText("Réseaux: null");
     
    		if (LoMa.getLastKnownLocation(LocationManager.GPS_PROVIDER)!=null)
    			localisationGPS.setText("GPS:  "+"Latitude="+LoMa.getLastKnownLocation(LocationManager.GPS_PROVIDER).getLatitude()+" Longitude="+LoMa.getLastKnownLocation(LocationManager.GPS_PROVIDER).getLongitude());
    		else
    			localisationGPS.setText("GPS: null");
    		if (LoMa.getLastKnownLocation(LocationManager.PASSIVE_PROVIDER)!=null)
    			localisationPAS.setText("Passive:  "+"Latitude="+LoMa.getLastKnownLocation(LocationManager.PASSIVE_PROVIDER).getLatitude()+"Longitude="+LoMa.getLastKnownLocation(LocationManager.PASSIVE_PROVIDER).getLongitude());
    		else
    			localisationPAS.setText("Passive: null");
    		}

  2. #2
    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
    Pourtant tout est là: http://developer.android.com/guide/t...s.html#Updates

    Il y a même le code pour ne conserver que la mesure "valide" la meilleure !
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Février 2013
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Février 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci pour ta réponse j'ai lu en diagonal le lien que tu m'as donné et je pense que la section "Maintaining a current best estimate" correspondrais assez à ce que je cherche à faire.

    Je suppose que je devrais implémenter ce code dans mon BoradcastReceiver seulement je ne vois pas quelle constante passer à mon IntentFilter. D'ailleurs si je comprend bien la définition de PASSIVE_PROVIDER , il se met a jour avec les dernières information de localisation peut importe d'où elle provient ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    locationManager.requestLocationUpdates(LocationManager.PASSIVE_PROVIDER, 0, 0, locationListener);
    J'ai bon ?

Discussions similaires

  1. Réponses: 4
    Dernier message: 22/02/2010, 15h36
  2. [XSLT] Recherche et collecte d'informations
    Par daav14 dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 03/06/2009, 12h20
  3. Réponses: 4
    Dernier message: 27/06/2008, 16h23
  4. collecte d'informations systèmes
    Par jonathan1 dans le forum Autres Logiciels
    Réponses: 3
    Dernier message: 04/04/2007, 10h05
  5. système de collecte d'information
    Par gforce dans le forum Décisions SGBD
    Réponses: 9
    Dernier message: 22/06/2006, 14h11

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