2010-11-29 3 views
6

Gibt es eine Möglichkeit zu überprüfen, ob das Android GPS ein- oder ausgeschaltet ist, ohne Erlaubnis, nur den Zustand, den ich nicht umschalten muss.Android GPS on oder off state

Dank

Antwort

27

Nr prüfen GPS-Status auf Android erfordert

android.permission.ACCESS_FINE_LOCATION

Der Code, den Status von GPS


LocationManager manager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); 
boolean statusOfGPS = manager.isProviderEnabled(LocationManager.GPS_PROVIDER); 

+0

dito zu überwachen. AFAI kann alle Methoden sehen, die Sie über die Aktivierung/Deaktivierung oder irgendetwas über den Zustand des GPS informieren können, erfordert die entsprechenden Berechtigungen. Scheint so, als ob du in der Lage sein solltest, den aktivierten/deaktivierten Zustand zu überprüfen, ohne eine Erlaubnis zu benötigen. – Hamy

+0

Das dachte ich auch! – zsniperx

+2

Hier wird geprüft, ob GPS AKTIVIERT ist oder nicht. Nicht, ob es tatsächlich ist oder nicht. Dies mag das sein, wonach das OP gefragt hat, aber es gibt einen wichtigen Unterschied. Wenn es aktiviert ist, können Sie nach dem GPS-Standort und nicht nach dem Standort des Netzwerks fragen, aber Sie müssen daran denken, das GPS wieder auszuschalten. – ShatyUT

2

Wenn Sie den Zustand des GPS überprüfen möchten zu überprüfen, ob ob Es ist ON oder OFF, dann wird diese Lösung Ihnen helfen

final LocationManager manager = (LocationManager)context.getSystemService(Context.LOCATION_SERVICE); 

if (!manager.isProviderEnabled(LocationManager.GPS_PROVIDER)) 
    Toast.makeText(context, "GPS is disable!", Toast.LENGTH_LONG).show(); 
else 
Toast.makeText(context, "GPS is Enable!", Toast.LENGTH_LONG).show(); 
4

Schritte -

  1. Dienste erstellen in backgroud laufen
  2. Sie benötigen auch in Manifest-Datei folgende Berechtigung -

    android.permission.ACCESS_FINE_LOCATION 
    
  3. Code schreiben

    final LocationManager manager = (LocationManager)context.getSystemService (Context.LOCATION_SERVICE); 
    
    if (!manager.isProviderEnabled(LocationManager.GPS_PROVIDER)) 
    
    //what you want to do 
    else 
    
        //what you want to do 
    
  4. Oder einfach Sie kann überprüfen

    LocationManager manager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); 
    boolean statusOfGPS = manager.isProviderEnabled(LocationManager.GPS_PROVIDER); 
    
  5. führen Sie Ihre Dienste durchgehende Verbindung von Aktivität

  6. rufen Sie Ihre Dienste