2015-11-25 6 views

risposta

9

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.

-1

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 come getCurrentPosition(). 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!

+0

Grazie per la risposta, e questo funziona anche se il dispositivo è bloccato e in qualcuno tasca? – Niels

+0

@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

+4

Risposta errata, la geoocation non funziona per processi memorizzati in cache (in background) su Android. – dusoft

0

Ho provato l'API watchPosition su Android, sembra funzionare per Firefox ma non per Chrome.

UPDATE: - sto usando Nexus 5X, con Android N