Dois-je utiliser android LocationManager.getBestProvider chaque fois je demande de l'emplacement des mises à jour?

Je suis en utilisant Google Api et le MapActivity, MapView etc..
Quand j'en ai besoin pour obtenir mon emplacement actuel j'utilise ce code la PREMIÈRE FOIS :

myLocationManager =(LocationManager)getSystemService(Context.LOCATION_SERVICE);
//Sets the criteria for a fine and low power provider
Criteria crit = new Criteria();
crit.setAccuracy(Criteria.ACCURACY_FINE);
crit.setPowerRequirement(Criteria.POWER_LOW);    
//Gets the best matched provider, and only if it's on
String provider = myLocationManager.getBestProvider(crit, true);
//If there are no location providers available
if (provider == null){
    OnClickListener listener = new OnClickListener() {

        public void onClick(DialogInterface dialog, int which) {
            //Closes the activity
            finish();
        }
    };
    Utils.getInstance().showAlertDialog(this, R.string.warning_dialog_title,
                               R.string.no_location_providers_error_message,
                            android.R.drawable.ic_dialog_alert, false, listener);
}
//Location services is enabled
else{
    myLocationListener = new MyLocationListener();
    myLocationManager.requestLocationUpdates(
            provider,
            0,
            0,
            myLocationListener);        
    //TODO - put a marker in my location       
    GeoPoint currentGeoPoint = MapUtils.getInstance().
            getCurrentLocation(myLocationManager, provider);        
    //Center to the current location
    centerLocation(currentGeoPoint, MAX_ZOOM);
}

J'ai aussi un "retour à l'emplacement actuel du bouton" lorsque l'utilisateur déplace la carte autour de et veut revenir rapidement à son emplacement actuel.

Ma question est,
dois-je utiliser le getBestProvider() méthode chaque fois je veux obtenir des informations de localisation?

J'ai pu enregistrer la dernière choisie fournisseur, mais les conditions ne changent à chaque seconde:

  1. Utilisateur désactivé GPS
  2. Aucun signal GPS
  3. NETWORK_PROVIDER est mieux dans la situation actuelle
  4. etc..

Quelle est la bonne approche?

stackoverflow.com/questions/3145089/.... Vérifier le lien. Vous pouvez trouver les réponses à vos questions.
Ce n'est toujours pas la réponse à ma question. Mon code fonctionne également. Mais dois-je ou ne dois-je pas appeler la getBestProvider à chaque fois? À mon avis oui..
developer.android.com/guide/topics/location/.... Vous devriez probablement par le biais de ce lien.
Merci!! qui a fait le tour 🙂

OriginalL'auteur Or Kazaz | 2012-10-16