Ich versuche Google Places API zu verwenden, um den aktuellen Standort des Geräts mithilfe von PlaceDetectionApi zu ermitteln. Ich habe erwartet, dass für den Fall, dass die erforderlichen Einstellungen nicht aktiviert sind, um den aktuellen Ort zu erkennen, die Startauflösung den Benutzer auffordern sollte, Standortdienste zu aktivieren, ohne das LocationSettings-Objekt erstellen und explizit auflösen zu müssen. Fehle ich etwas?LocationSettings für Google platziert API zum Ermitteln des aktuellen Standorts
0
A
Antwort
0
Sie überprüfen können, ob der Standort-Modus manuell deaktiviert oder nicht, und wenn deaktiviert können Sie die Einstellungen direkt öffnen, damit es wie gezeigt:
public static boolean isLocationServicesAvailable(Context context) {
int locationMode = 0;
String locationProviders;
boolean isAvailable = false;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
try {
locationMode = Settings.Secure.getInt(context.getContentResolver(), Settings.Secure.LOCATION_MODE);
} catch (Settings.SettingNotFoundException e) {
e.printStackTrace();
}
isAvailable = (locationMode != Settings.Secure.LOCATION_MODE_OFF);
} else {
locationProviders = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED);
isAvailable = !TextUtils.isEmpty(locationProviders);
}
// boolean coarsePermissionCheck = (ContextCompat.checkSelfPermission(context, Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED);
// boolean finePermissionCheck = (ContextCompat.checkSelfPermission(context, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED);
return isAvailable;
}
Oeffnen Einstellungen bei disabled:
if(!isLocationServicesAvailable(this)) {
// notify user
AlertDialog.Builder dialog = new AlertDialog.Builder(this);
dialog.setMessage("enabled");
dialog.setPositiveButton("open GPS", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface paramDialogInterface, int paramInt) {
// TODO Auto-generated method stub
Intent myIntent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivity(myIntent);
//get gps
}
});
dialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface paramDialogInterface, int paramInt) {
// TODO Auto-generated method stub
}
});
dialog.show();
}
Verwandte Themen
- 1. Unklare Anleitung zum Abrufen des aktuellen Standorts für Android
- 2. MKMapView Anzeige des aktuellen Standorts
- 3. Google platziert Api Key
- 4. Kann ich Google Maps API v3 verwenden, um die Zeitzone des Standorts zu ermitteln?
- 5. Google platziert API-Autorisierungsfehler
- 6. Ermitteln des aktuellen Standorts des Benutzers, aber Rückkehr "Optional" California .. usw.
- 7. Schienen Orte in der Nähe des aktuellen Standorts mit Geocoder
- 8. Den Standort des gesicherten Standorts des Providers zum Testen löschen
- 9. Google platziert API mit PHP
- 10. Anzeige des aktuellen Standorts des Geräts auf der Karte Xamarin.Forms
- 11. Google+ API: Profil des aktuellen BenutzersLocation
- 12. Best node.js Modul zum Auffinden des Standorts?
- 13. Android: Ermitteln des aktuellen Audiokanals
- 14. Abrufen des aktuellen Standorts jetzt, nicht beim Aktualisieren
- 15. Ermitteln des Standorts aus einem LocationResult in onReceive()
- 16. Problem beim Zoomen von MapView unter Verwendung des aktuellen Standorts
- 17. NodeJS: Ermitteln des aktuellen Arbeitsverzeichnisses des Benutzers
- 18. Android: Ermitteln des aktuellen Kontexts zum Anzeigen einer Warnung
- 19. Google Maps api platziert keine Markierung an einem geeigneten Ort
- 20. Finden des aktuellen Standorts in Swift Xcode 7.3
- 21. Abrufen des aktuellen Standorts mit CLLocationManager in Swift
- 22. Anzeige des aktuellen Standorts Orte Name ios mapkit
- 23. Ermitteln des aktuellen Zustands einer Zelle
- 24. Google Maps API v3 - Vergrößern und dabei die Position des angeklickten Standorts oder Markers beibehalten
- 25. Phoenix - Ermitteln des aktuellen Pfads im Controller
- 26. Ermitteln der Shell des aktuellen Benutzers
- 27. Was verwendet StartMonitoringSignificantLocationChanges zur Bereitstellung des Standorts
- 28. Ermitteln der Koordinaten des Markers in Google Maps API
- 29. Empfangen von Cell Broadcast zum Anzeigen des aktuellen Standorts (Kanal 50) in Android
- 30. Ermitteln der Quellanwendung des aktuellen Passepartout-Inhalts
Ich hatte gehofft, dass es eine bessere allgemeine Auflösung gibt, anstatt auf Internet und GPS manuell zu überprüfen – hsen
ich denke, dass Sie es manuell überprüfen müssen, das ist, was ich weiß :)) –