Question

Je suis en train de concevoir ma première application Android avec l'utilisation du GPS. En ce moment, j'ai un bouton drawable que lorsque vous cliquez dessus, un message avertit Toast de la longitude et la latitude. J'ai essayé d'utiliser le telnet localhost 5554 et geo fix #number #number pour alimenter des valeurs, mais pas d'affichage des résultats juste 0 0. J'ai aussi essayé d'envoyer manière DDMS les coordonnées GPS et je reçois la même chose.

Ma question est quelle est exactement la bonne façon d'utiliser le correctif géo et la façon DDMS d'envoyer les coordonnées. Je l'ai utilisé Location, LocationManger et LocationListener mais je ne suis pas sûr qui est le bon choix.

code est donné, juste au cas où si l'erreur existe avec le code

@Override
public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    Button button = (Button) findViewById(R.id.track);
    button.setOnClickListener(this);
    LocationManager location =(LocationManager)getSystemService(Context.LOCATION_SERVICE);
    Location loc = location.getLastKnownLocation(location.GPS_PROVIDER);
    updateWithNewLocation(loc);

  }

 private final LocationListener locationListener = new LocationListener() {
   public void onLocationChanged(Location location) {
     updateWithNewLocation(location);
   }

  private void updateWithNewLocation(Location l) {
  longitude = l.getLongitude();
  latitude = l.getLatitude();
  provider = l.getProvider();     
  }

    public void onClick(View v) { 
     Toast.makeText(this, "Your location is " + 
      longitude + " and " + latitude + " provided by: " + 
      provider, Toast.LENGTH_SHORT).show();          
   }     
}
Était-ce utile?

La solution

Deux choses

1) Faire la latitude et la longitude volatile

2) Essayez de vous enregistrer en tant qu'auditeur au gestionnaire de localisation GPS

location.requestLocationUpdates (LocationManager.GPS, 100, 1, LocationListener);

Cela devrait vous faire callbacks envoyés à votre objet LocationListener.

Vous pouvez vérifier certains exemples de code GPS Android ici: http://www.devx.com/wireless/Article/43005

(ATTENTION! DevX a ajouté un atterrissage d'inscription depuis que j'ai ajouté ce lien!)

Autres conseils

commenter la ligne  Localisation loc = location.getLastKnownLocation (location.GPS_PROVIDER);

Et tester l'application par la mise à jour GPS manuellement dans DDMS

si cela fonctionne, revenez au code puis mettre Emplacement loc = location.getLastKnownLocation ( "GPS");

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top