Questo è il mio modo di ascolto per gli aggiornamenti di posizione GPS (utilizzando LocationManager
e un LocationListener
):Android: LocationManager regolare dinamicamente MINTIME/minDistance soglie
locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
listener = new MyLocationistener(); // LocationListener
locationManager.requestLocationUpdates(
LocationManager.GPS_PROVIDER,
30000, // milliseconds (minTime)
20, // meters (minDistance)
listener);
Ma vorrei regolare dinamicamente le minTime
e minDistance
argomenti utilizzati di LocationManager#requestLocationUpdates
. Il mio obiettivo è quello di risparmiare la batteria, in base a diversi criteri di utilizzo, vale a dire:
- Se l'utente non è in movimento, aumentano la MINTIME per ottenere un aggiornamento di posizione
- Se l'utente si muove molto velocemente, aumentare la minDistance
- Se l'utente è in casa (senza copertura GPS), aumentare sia
- Se la batteria è troppo basso, aumentare sia
- ... (qualsiasi altra euristica)
Mi piacerebbe sapere:
- È davvero una buona idea per risparmiare la durata della batteria?
- Come posso fare questo tipo di regolazioni? Posso chiamare di nuovo sia
LocationManager#removeUpdates
cheLocationManager#requestLocationUpdates
, se c'è l'unica alternativa. - Qualche idea o codice di esempio che conosci per implementare questo tipo di algoritmi adattivi?
Modifica: l'applicazione è un sistema di tracciamento per sapere dove si trovano le persone, al fine di assegnare compiti alla persona più vicina a una determinata posizione. In realtà la batteria dura poco più di 8 ore, quindi mi piacerebbe aumentarla.
Interessante domanda però non posso aiutare molto. Penso che sia una buona idea risparmiare batteria. E tenderei a dire che la soluzione che suggerisci è l'unica, ma non sono esperto nell'API di localizzazione, quindi lascerò che gli altri parlino. – Sephy
[Ho usato lo stesso codice in mia applicazione ma does'nt restituisce tutti i valori, chiedevo se qualcuno di ragazzi yu mi potrebbe aiutare con ...] [1] [1]: http: //stackoverflow.com/questions/9514980/android-getting-speed-with-gps –
rimuovere e aggiungere, proprio come questo: https://stackoverflow.com/questions/5385094/change-mintime-for-gps-locationlistener- dinamicamente – jp1017