2015-11-25 11 views

Antwort

9

Sie können den Standort des Benutzers nicht über eine Webanwendung im Hintergrund anzeigen. Ich habe es in Chrome (Android M) überprüft, und sobald die Web App in den Hintergrund geht, verschwindet das GPS-Symbol und der Watch-Position-Prozess wird gestoppt. (Sobald die Web App wieder im Vordergrund ist, wird der Überwachungsprozess fortgesetzt).

Das gleiche passiert, wenn das Gerät gesperrt ist. Der Überwachungsprozess wird angehalten, bis der Benutzer ihn entsperrt und die Web App im Vordergrund ist.

-1

Ja. Sie können den Standort im Hintergrund überwachen, wenn Ihr mobiler Browser unterstützt.

Sie können watchPosition() Funktion verwenden.

watchPosition() Code Snippet

var watchID = navigator.geolocation.watchPosition(function(position) { 
    do_something(position.coords.latitude, position.coords.longitude); 
}); 

Wenn die Positionsdaten ändern (entweder durch Bewegung der Vorrichtung oder wenn mehr genau Geoinformationen ankommen), können Sie eine Rückruffunktion einrichten das wird mit dieser aktualisierten Positionsinformation aufgerufen. Dies geschieht mit der watchPosition() Funktion, die den gleichen Eingang Parameter wie getCurrentPosition() hat. Die Callback-Funktion wird mehrmals genannt und ermöglicht dem Browser, entweder Ihren Standort als zu aktualisieren oder einen genaueren Standort anzugeben.

getCurrentPosition() Code Snippet

navigator.geolocation.getCurrentPosition(function(position) { 
    do_something(position.coords.latitude, position.coords.longitude); 
}); 

Um weitere Informationen zu erhalten, siehe Mozilla/Geolocation/WatchCurrentPosition

Hoffe, es hilft!

+0

Dank für die Beantwortung, und dies funktionieren wird, auch wenn das Gerät gesperrt ist und in jemandes Tasche? – Niels

+0

@Niels Ehrlich gesagt habe ich diesen Anwendungsfall nicht getestet. Ich befürchte, dass Sie die aktualisierte Position nicht abrufen können, wenn das Gerät gesperrt ist. Sagen Sie uns hier Bescheid, wenn Sie diesen Anwendungsfall testen! – krishnaxv

+4

Falsche Antwort, Geo-Ortung funktioniert nicht für zwischengespeicherte (Hintergrund) Prozesse auf Android. – dusoft

0

Ich habe die watchPosition API auf Android getestet, es scheint für Firefox zu funktionieren, aber nicht Chrom.

UPDATE: - Ich bin mit Nexus 5X, mit Android N

Verwandte Themen