2013-06-15 45 views
8

Google consiglia ora di utilizzare Google Play Services per gestire la posizione dell'utente. Ma come possiamo, usando questa API, controllare se il GPS è acceso nel dispositivo o se abbiamo ancora la connessione GPS?Verifica dello stato GPS con Google Play Services

Nel com.google.android.gms.location.LocationListener abbiamo un solo metodo abstract void onLocationChanged(Location location) che viene chiamato quando la posizione è cambiata, ma non sappiamo nulla sullo stato del GPS.

Come utilizzare Google Play Services come "vecchio" LocationManager e LocationListener?

+0

con GPS intendi l'interruttore Posizione in Sistema -> Impostazioni? – Blackbelt

risposta

10

Ma come possiamo, utilizzando questa API, controllare se il GPS è acceso nel dispositivo o se abbiamo ancora la connessione GPS?

Non è possibile, AFAICT. Suppongo che l'argomento sia che dal momento che LocationClient combina i dati da diverse fonti, non esiste alcuna API per determinare se una specifica fonte è o non viene utilizzata.

È necessario utilizzare LocationManager se si desidera determinare se il GPS è abilitato o meno.

+1

Quindi non possiamo veramente sbarazzarci di 'LocationManager' e verrà usato per tali cose? – squixy

+3

@squixy: Qualsiasi cosa tu voglia da 'LocationManager' che non è disponibile tramite' LocationClient', dovrai comunque usare 'LocationManager' per. Pensa a "LocationClient" come componente aggiuntivo di "LocationManager", non a una sostituzione. – CommonsWare

+0

@CommonsWare: sembra che LocationClient restituisca una posizione non nulla, anche le impostazioni della posizione di Google devono essere abilitate. Impossibile trovare una chiamata api per conoscere questa impostazione o un'azione intent per aprire questa pagina delle impostazioni. Qualsiasi codice di esempio che utilizza LocationManager per scoprire se l'accesso alla posizione è abilitato (insieme a WiFi e rete mobile abilitata)? – raj

Problemi correlati