Qual è il modo migliore in Android per ottenere lo stato di un fornitore di posizione? Quando si registra un LocationListener per gli aggiornamenti di posizione, la chiamata onStatusChanged(String provider, int status, Bundle extras)
verrà richiamata ogni volta che lo stato viene modificato. Tuttavia, non ho trovato un modo per ottenere lo stato corrente (AVAILABLE
, OUT_OF_SERVICE
, TEMPORARILY_UNAVAILABLE
) senza registrarsi agli aggiornamenti di posizione. Il metodo isProviderEnabled
indica solo se il provider è generalmente attivato o meno (nelle impostazioni del dispositivo), quindi potrebbe restituire true
anche se il provider è fuori servizio ... C'è un altro modo per farlo?: Ottieni lo stato del provider
Un'altra domanda: è possibile ascoltare gli aggiornamenti di stato senza registrarsi per gli aggiornamenti di posizione? Voglio ascoltare un fornitore specifico per le località, ma allo stesso tempo controllare se altri sono disponibili. La mia soluzione attuale è impostare il tempo e la distanza minimi a un valore molto alto, ma mi chiedo se c'è una soluzione migliore ...
Grazie per eventuali suggerimenti!
BTW: se possibile, le soluzioni dovrebbero funzionare con Android 1.1
Non so come fare quello che vuoi. Ma potresti ottenere l'ultima posizione nota ('LocationManager.getLastKnownLocation') e vedere se è recente. Questo ti darebbe una stima se il provider è disponibile o meno. –