2010-10-25 22 views
6

Eventuali duplicati:
Enable GPS programatically like TaskerAndroid Enable e Disattiva GPS

Sono uno sviluppatore Android principiante.

voglio attivare e disattivare il GPS con un clic di un pulsante, senza correre questo intento:

intente in = new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS); 

startActivity(in); 

che mi porta nel menu delle impostazioni.

Esiste un metodo per abilitare o disabilitare il GPS come nel widget "Power Control" di Android?

Grazie

EDIT:

Il widget che ho detto è nel sistema Android (versione 1.6 in avanti). C'è un'applicazione (siriusapplications.com/powercontrolplus) che fa volere che voglio fare ed estendere il controllo di potenza di Android .. la mia domanda è: come questo perstore può gestirlo ?? -

risposta

3

Non credo che ci sia un modo per farlo. Vedi questo question. Puoi anche trovare un buon esempio here. Fondamentalmente quello che fai è testare se il GPS è abilitato e quindi navigare l'utente alla pagina delle impostazioni appropriate.

Il widget a cui si fa riferimento probabilmente ha accesso diretto al driver GPS. Ciò significa che funzionerà solo nel dispositivo a portata di mano (o in una singola famiglia di dispositivi).

+0

Il widget che ho detto è nel sistema Android (versione 1.6 in avanti). C'è un'applicazione (http://www.siriusapplications.com/powercontrolplus/) che fa volere che voglio fare ed estendere il controllo di potenza di Android .. la mia domanda è: come questo perstore può gestirlo ?? – mist3r0

+0

Poiché il widget è nel sistema Android, può effettivamente utilizzare il codice nativo per controllare il GPS. Per quanto riguarda l'applicazione, hai provato? In realtà abilita/disabilita il GPS o ti dà solo una scorciatoia? Questo sarà molto interessante da sapere. – kgiannakakis

+1

Ho visto che questo software (http://www.siriusapplications.com/powercontrolplus/) è molto simile al sistema di controllo Power del sistema Android. Per questo motivo c'è una modalità per fare questo !! ora forse ho risolto il mio problema, scrivo questo codice: booleano gpsStatus = locmanager.isProviderEnabled (LocationManager.GPS_PROVIDER); se (gpsStatus!) { \t \t \t \t Settings.Secure.putString (getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED, "di rete, GPS"); } – mist3r0

2

il GPS può essere attivato sfruttando un bug nel widget di power manager. vedi this question.

+0

+1 sì, ** questo può essere fatto fino a 2,2 (sdk 8) **. Per i dettagli, vedi [Abilita GPS come Programatically Tasker] (http://stackoverflow.com/a/5305835/383414) –

Problemi correlati