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

API standards et tierces Android Discussion :

Localisation du téléphone par le GPS


Sujet :

API standards et tierces Android

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 35
    Points : 14
    Points
    14
    Par défaut Localisation du téléphone par le GPS
    Bonjour à tous, je vous explique mon problème, j'essaye d'obtenir à l'aide d'un code plutôt simple les coordonnées de mon téléphone. J'entends par la longitude et latitude.

    Voici mon code:

    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
    public class MainActivity extends Activity implements LocationListener {
     
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.main);
     
    		LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
    	    Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
    		Toast.makeText(getApplicationContext(), "Ok", Toast.LENGTH_SHORT).show();
     
     
    		if (lm.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
    			lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 10000, 0, this);
    			lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 10000, 0, this);
     
     
    			double longitude = location.getLongitude();	
    			Toast.makeText(getApplicationContext(), String.valueOf(longitude), Toast.LENGTH_SHORT).show();
    			//double latitude = location.getLatitude();
    			//Toast.makeText(getApplicationContext(), String.valueOf(latitude), Toast.LENGTH_SHORT).show();
    			}
    		else
    		{
    			Toast.makeText(getApplicationContext(),"GPSNONACTIVER", Toast.LENGTH_SHORT).show();	
    			}
     
    	}
    Et voici mes permissions :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
            </activity>
     
     
        </application>
      <uses-permission android:name="android.permission.INTERNET" />
    		<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    		<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    </manifest>
    Mais lorsque je lance cette application sur une tablette android avec le GPS d'activer , mon application se stop et me dit que l'application s'est arrêtée :/. Avez-vous une solution? Je vous remercie d'avance

  2. #2
    Membre actif Avatar de janyoura
    Femme Profil pro
    étudiante ingénierie informatique
    Inscrit en
    Mars 2012
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante ingénierie informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 365
    Points : 279
    Points
    279
    Par défaut
    Bonjour,
    pour récupérer la position actuelle tu dois utiliser la fonction onLocationChanged(Localition location) et non pas la manipulation directe dans OnCreate.
    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
     
    MapController	monControler	= null;
    public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.localisation);
    LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
    		lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000L, 500.0f, this);
    }
    @Override
    	public void onLocationChanged(Location location) {
    		if (location != null) {
    			Toast.makeText(this, "Nouvelle position : " + location.getLatitude() + ", " + location.getLongitude(), Toast.LENGTH_SHORT).show();
    			monControler.animateTo(new GeoPoint(microdegrees(location.getLatitude()),microdegrees(location.getLongitude())));
    		}
    	}
    "Scientists dream about doing great things. Engineers do them.”

    La réussite après tant de travail est un sentiment à vivre

    Si ton message est résolu, il y a un bouton qui est fait pour ça :
    Il se trouve tout en bas de la conversation !

    N'oublie pas que si ce message t'as aidé, tu peux voter pour lui en utilisant

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 35
    Points : 14
    Points
    14
    Par défaut
    Merci de ta réponse janyoura.

    Je voulais juste afficher la latitude et longitude au démarrage, alors je suppose que je ne suis pas obligé de passer par onLocationChanged(). A vrai dire mon problème était que ma tablette Ne trouvais pas de signal GPS. J'ai du télécharger une application pour me rendre de compte de ça. Et tombant sur plusieurs forums j'ai pu constater que le GPS (en tout cas sous Android) rencontré pas mal de problèmes :/.

    Et sinon je me permets de te poser une autre petite question

    Est-ce que tu t'y connais en service sous Android?

    Merci d'avance

  4. #4
    Membre actif Avatar de janyoura
    Femme Profil pro
    étudiante ingénierie informatique
    Inscrit en
    Mars 2012
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante ingénierie informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 365
    Points : 279
    Points
    279
    Par défaut
    Bon pour moi je n'ai pas eu de problèmes concernant la connexion GPS avec mon téléphone android mais peut être tu as raison.
    En tout cas ton problème est-il résolu? sinon je pourrai te donner des exemples simples.

    Un conseil que je trouve un peu partout c'est de vérifier la connexion dans un thread autre que le thread UI et laisser au thread UI juste l'affichage du message.

    Pour la notion service sous android, je suis encore débutante , tu pourras quand même poster tes questions il-y aura surement des gens qui t'aideront ici
    Bon courage
    "Scientists dream about doing great things. Engineers do them.”

    La réussite après tant de travail est un sentiment à vivre

    Si ton message est résolu, il y a un bouton qui est fait pour ça :
    Il se trouve tout en bas de la conversation !

    N'oublie pas que si ce message t'as aidé, tu peux voter pour lui en utilisant

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 08/03/2009, 15h45
  2. Localisation et traduction par un tier
    Par estear dans le forum VC++ .NET
    Réponses: 0
    Dernier message: 05/11/2007, 16h45
  3. Vérification de mail et de téléphone par regex
    Par mLk92 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 19/07/2007, 17h59
  4. connecter deux téléphones par bluetooth
    Par chabfive dans le forum Développement Mobile en Java
    Réponses: 2
    Dernier message: 26/12/2006, 17h22
  5. [VB6]Converser au téléphone par un casque audio
    Par bd119 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 15/03/2006, 14h27

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