Es ist möglich zu überprüfen, ob Google Play-Dienste selbst verfügbar sind. Befolgen Sie die Anweisungen hier: https://developer.android.com/training/location/retrieve-current.html
Es ist möglich, dass getLastLocation() null zurückgibt, auch wenn die Google Play Services-Standortdienste aktiviert sind. Zum Beispiel direkt nach der erneuten Aktivierung. Allerdings können Sie dann Ihre Benutzer auf die Play-Dienste Standorteinstellungen Google nehmen, indem Sie die folgende Absicht mit:
Intent settings = new Intent("com.google.android.gms.location.settings.GOOGLE_LOCATION_SETTINGS");
startActivity(settings);
Schließlich ist es auch möglich, zu überprüfen, ob Android Location Services aktiviert sind:
public static boolean isLocationEnabled(Context context) {
int locationMode = 0;
String locationProviders;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT){
try {
locationMode = Settings.Secure.getInt(context.getContentResolver(), Settings.Secure.LOCATION_MODE);
} catch (SettingNotFoundException e) {
e.printStackTrace();
}
return locationMode != Settings.Secure.LOCATION_MODE_OFF;
}else{
locationProviders = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED);
return !TextUtils.isEmpty(locationProviders);
}
}
Verwendung 'LocationManager' die verschiedenen Anbieter – tyczj