2010-11-29 16 views

risposta

27

Collocazione Stato GPS Controllo su Android richiede

android.permission.ACCESS_FINE_LOCATION

Il codice per verificare lo stato del GPS


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

+0

idem. AFAI può vedere tutti i metodi che possono dirti circa l'abilitato/disabilitato o qualsiasi cosa riguardante lo stato del gps richiede le autorizzazioni appropriate. Sembra che dovresti essere in grado di controllare lo stato abilitato/disabilitato senza bisogno di autorizzazione. – Hamy

+0

Questo è quello che ho pensato anche io! – zsniperx

+2

Controlla se il GPS è ABILITATO o meno. Non se sia effettivamente attivo. Questo potrebbe essere ciò che l'OP chiedeva, ma c'è un'importante distinzione. Se è abilitato, è possibile richiedere la posizione GPS anziché la posizione di rete, ma è necessario ricordare di disattivare il GPS. – ShatyUT

2

Se si desidera controllare lo stato del GPS che se è ON o OFF, quindi questa soluzione ti aiuterà

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

passi -

  1. creare servizi in esecuzione in backgroud
  2. si richiede seguenti autorizzazioni nel file manifesto troppo -

    android.permission.ACCESS_FINE_LOCATION 
    
  3. codice Scrivi

    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. O semplicemente si può controllare

    LocationManager manager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); 
    boolean statusOfGPS = manager.isProviderEnabled(LocationManager.GPS_PROVIDER); 
    
  5. gestiscono i propri servizi continui a monitorare la connessione

  6. chiamare i tuoi servizi da Activity