Fall: Die Anwendung benötigt den Gerätestandort zum Angeben der Webanforderung. Wenn Standortanbieter deaktiviert sind, sollte der letzte bekannte Standort verwendet werden. Als android.location
seems to be deprecated in favor of Fused location API entschied ich mich, neue API zu verwenden, stieß jedoch auf einige Probleme. Mit der Verwendung der alten API sieht meinem Fall etwas wie folgt aus:Android: neuer Google Client-API-Standort
//get Location
locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
Criteria criteria = new Criteria();
...
bestProvider = locationManager.getBestProvider(criteria, true);
protected void onResume() {
super.onResume();
//check providers. If providers disabled, use last known location
if (locationManager.isProviderEnabled(bestProvider)) {
locationManager.requestLocationUpdates(bestProvider, 1000 * 60, 100, this);
} else {
Location location = locationManager.getLastKnownLocation(bestProvider);
}
Aber ich bin nicht sicher, wie ähnliche Aktionen in Fused-API zu machen. Wie sieht die Verfügbarkeit von Anbietern in der neuen API aus? Weil neue Schnittstellen für Fused Location() mir keinen Hinweis geben.
Was ich versuche zu verstehen, ist der in meinem Beitrag beschriebene Anwendungsfall. Wenn die Standortanbieter deaktiviert sind, sollte der letzte bekannte Standort verwendet werden. Also, bedingte Anweisung in Core Location API für diesen Fall war das Ergebnis der isProviderEnabled()
Methode. Aber was ist mit einer neuen API?
Vielen Dank für Ihre Antwort, aber dieser Teil ist klar für mich. Was ich versuche zu verstehen, ist der in meinem Beitrag beschriebene Anwendungsfall. _Wenn Standortanbieter deaktiviert sind, sollte der letzte bekannte Speicherort verwendet werden. Daher war die bedingte Anweisung in der Core-Standort-API für diesen Fall das Ergebnis der 'isProviderEnabled()' -Methode. Aber was ist mit einer neuen API? –