Con orologio intendo l'utilizzo del supporto dell'orologio di geolocalizzazione nativo di HTML5. Questo è pensato per un'applicazione web, non nativa. Grazie per l'aiuto: DÈ possibile guardare la posizione sullo sfondo su Mobile (iOS/Android)?
risposta
Non è possibile visualizzare la posizione dell'utente da un'app Web in background. L'ho verificato su Chrome (Android M), e non appena l'app Web passa allo sfondo, l'icona GPS scompare e il processo di posizione dell'orologio viene interrotto. (Una volta che l'app Web è di nuovo in primo piano, viene ripreso il processo di controllo).
Lo stesso accade quando il dispositivo è bloccato. Il processo di controllo viene interrotto finché l'utente non lo sblocca e l'app Web è in primo piano.
Sì. Puoi sicuramente guardare la posizione sullo sfondo se il tuo browser mobile supporta Geolocation API
.
È possibile utilizzare la funzione
watchPosition()
.
watchPosition() frammento di codice
var watchID = navigator.geolocation.watchPosition(function(position) {
do_something(position.coords.latitude, position.coords.longitude);
});
Se i dati cambiano posizione (sia per movimento del dispositivo o se più accurate informazioni geo arriva), è possibile impostare una funzione di callback viene chiamato con le informazioni sulla posizione aggiornate. Questa operazione viene eseguita utilizzando la funzione
watchPosition()
, che ha lo stesso input parametri comegetCurrentPosition()
. La funzione di callback è chiamata più volte , consentendo al browser di aggiornare la propria posizione come si sposta o fornire una posizione più accurata.
getCurrentPosition() frammento di codice
navigator.geolocation.getCurrentPosition(function(position) {
do_something(position.coords.latitude, position.coords.longitude);
});
Per ottenere ulteriori informazioni, fare riferimento Mozilla/Geolocation/WatchCurrentPosition
Speranza che aiuta!
Ho provato l'API watchPosition
su Android, sembra funzionare per Firefox ma non per Chrome.
UPDATE: - sto usando Nexus 5X, con Android N
Grazie per la risposta, e questo funziona anche se il dispositivo è bloccato e in qualcuno tasca? – Niels
@Niels Onestamente non ho testato questo caso d'uso. Temo che non sarai in grado di recuperare la posizione aggiornata quando il dispositivo è bloccato. Fateci sapere qui se testate questo caso d'uso! – krishnaxv
Risposta errata, la geoocation non funziona per processi memorizzati in cache (in background) su Android. – dusoft