Überprüfen Sie, ob 'Zugriff auf meinen Standort' aktiviert ist – Android

Ich habe eine Android-App, die Standort verwendet. Aber ich habe festgestellt, dass, wenn Benutzer den "Zugriff auf meinen Standort" in Einstellungen> Standortzugriff deaktivieren, nichts mehr funktioniert. Wie kann ich überprüfen, ob es aktiviert ist? Falls es deaktiviert ist, wie man diese Einstellungen aus meiner App öffnet?

Vielen Dank

LÖST:

String locationProviders = Settings.Secure.getString(getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED); if (locationProviders == null || locationProviders.equals("")) { ... startActivity(new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS)); } 

  • Android Fused Location Provider wird verloren
  • MSecurityInputMethodService ist null im Logcat
  • Ist es möglich, zwischen dem aktuellen standort und einer straße, avenue oder bereich zu gelangen
  • Wie zu überprüfen, ob ein Standort Koordinaten fallen zu einem anderen Ort Koordinaten Radius in Android
  • LocationClient getLastLocation () return null
  • Wie bekomme ich den aktuellen Standort meines Geräts
  • Android: Holen Sie sich nur den letzten Standort, nicht getLastKnownLocation?
  • Bekomme den aktuellen Standort schnell und einmal in Android
  • 5 Solutions collect form web for “Überprüfen Sie, ob 'Zugriff auf meinen Standort' aktiviert ist – Android”

    Kann dies nützlich sein, um diese Seite zu besprechen, die es über den Standortdienst bespricht

    http://www.scotthelme.co.uk/android-location-services/

    Sie können es so überprüfen:

     LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER) // Return a boolean 

    BEARBEITEN:

    Wenn Sie den Netzbetreiber überprüfen möchten:

     LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER) // Return a boolean 

    EDIT 2:

    Wenn Sie die Einstellungen öffnen möchten, können Sie diese Absicht verwenden:

     Intent intent = new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS); 

    Eine alternative Möglichkeit, dies zu tun, ohne Settings.Secure und ohne Scannen alle Standortanbieter wäre zu tun:

     LocationManager locationManager = (LocationManager) getContext().getSystemService(Context.LOCATION_SERVICE); int providersCount = locationManager.getProviders(true).size(); // Listing enabled providers only if (providersCount == 0) { // No location providers at all, location is off } 

    Leider scheint die Verwendung von Settings.Secure.LOCATION_PROVIDERS_ALLOWED seit API 19 veraltet zu sein.

    Eine neue Art, das zu tun, wäre:

     int locationMode = Settings.Secure.getInt( getContentResolver(), Settings.Secure.LOCATION_MODE, Settings.Secure.LOCATION_MODE_OFF // Default value if not found ); if (locationMode == Settings.Secure.LOCATION_MODE_OFF) { // Location is off } 

    Es gibt zwei Möglichkeiten, um den Standort zu überprüfen, 1-mit GPS 2-mit Netzwerk-Provider seine besser zu überprüfen, beide Service sind aktiviert oder nicht.Für das verwenden diese Methode 🙂

     public boolean checkServices(){ //check location service LocationManager locationManager = (LocationManager)getActivity().getSystemService(Context.LOCATION_SERVICE); if(locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER) && locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)){ return true; } } 
    Das Android ist ein Google Android Fan-Website, Alles über Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.