2010-04-23 6 views
3

Je suis en train d'obtenir ma position en utilisant comme ceci:obtenir l'emplacement actuel (GPS/wifi)

LocationManager myLocationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); 

Criteria criteria = new Criteria(); 
criteria.setAccuracy(Criteria.ACCURACY_FINE); 
criteria.setAltitudeRequired(false); 
criteria.setBearingRequired(false); 
criteria.setCostAllowed(true); 
criteria.setPowerRequirement(Criteria.POWER_LOW); 

String provider = myLocationManager.getBestProvider(criteria,true); 

if (provider != null) { 
    //there is a provider 
    myLocationManager.requestLocationUpdates(provider, 10L, 500.0f, (LocationListener) mainContext); 
    Location myCurLocation = myLocationManager.getLastKnownLocation(provider); 
      //here i'm trying to get some data from the 
      //myCurLocation but 
      //myCurLocation == NULL 
} 

mais le myCurLocation est toujours == NULL

Qu'est-ce que je fais mal?

Répondre

8

L'appel à getLastKnownLocation() ne bloque pas - ce qui signifie qu'il retourne null si aucune position est actuellement disponible - si vous voulez probablement jeter un oeil à passer un LocationListener au lieu requestLocationUpdates() method, qui vous donnera des mises à jour asynchrones ton emplacement.

Jetez un oeil à this question for an example of using a LocationListener.

+0

→ → → @ Dave Webb → → → c'était rapide .. merci beaucoup! – gilmad

Questions connexes