Можно ли отслеживать местоположение пользователя даже после закрытия PWA [дублировать]

Для тех из вас, у кого есть эта проблема с PHP 5.6, вы можете использовать следующую команду:

yum install php56w-pgsql

Для получения списка дополнительных имен пакетов для PHP 5.6 откройте следующую ссылку и прокрутите вниз к пакетам:

PHP 5.6 на CentOS / RHEL 7.0 и 6.6 через Yum

8
задан Niels 25 November 2015 в 21:52
поделиться

3 ответа

Вы не можете смотреть местоположение пользователя из веб-приложения в фоновом режиме. Я проверил его на Chrome (Android M), и как только веб-приложение переходит в фоновый режим, значок GPS исчезает, и процесс позиции часов останавливается. (Когда веб-приложение снова находится на переднем плане, процесс просмотра возобновляется).

То же самое происходит, когда устройство заблокировано. Процесс просмотра останавливается, пока пользователь не разблокирует его, и веб-приложение находится на переднем плане.

10
ответ дан sergi 15 August 2018 в 16:53
поделиться

Я тестировал watchPosition api на android, похоже, работает на firefox, но не на хром.

UPDATE: - Я использую Nexus 5X, с Android N

0
ответ дан dodo 15 August 2018 в 16:53
поделиться

Да. Вы можете определенно посмотреть местоположение в фоновом режиме, если ваш мобильный браузер поддерживает Geolocation API.

Вы можете использовать функцию watchPosition().

watchPosition ( ) Code Snippet

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

Если данные позиции изменяются (либо путем перемещения устройства, либо при получении более точной геоинформации), вы можете настроить функцию обратного вызова, вызываемую с этой обновленной информацией о местоположении , Это делается с помощью функции watchPosition(), которая имеет те же входные параметры, что и getCurrentPosition(). Функция обратного вызова вызывается несколько раз, позволяя браузеру либо обновлять ваше местоположение при перемещении, либо предоставлять более точное местоположение.

getCurrentPosition () Фрагмент кода

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

Чтобы получить дополнительную информацию, обратитесь к Mozilla / Geolocation / WatchCurrentPosition

Надеюсь, что это поможет!

-2
ответ дан krishnaxv 15 August 2018 в 16:53
поделиться
  • 1
    Спасибо за ответ, и это будет работать, даже если устройство заблокировано и в каком-то кармане? – Niels 25 November 2015 в 23:12
  • 2
    @Niels Честно говоря, я не тестировал этот вариант использования. Я боюсь, что вы не сможете получить обновленную позицию, когда устройство заблокировано. Сообщите нам об этом, если вы проверите этот вариант использования! – krishnaxv 25 November 2015 в 23:37
  • 3
    Неправильный ответ, геолокация не работает для кэшированных (фоновых) процессов на Android. – dusoft 24 August 2016 в 11:49
Другие вопросы по тегам:

Похожие вопросы: