Плагин Cordova Geolocation перестает работать на Android Go, как только пользователь выполняет глубокую очистку устройства (удаляет все запущенные приложения).
Я создаю приложение Cordova для Android, которое будет установлено на нескольких устройствах Blackview.Мобильные устройства A20.Устройства Blackview A20 работают под управлением облегченной версии Android под названием Android Go.Я использую плагин Cordova Geolocation для отслеживания устройства во время использования приложения: https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-geolocation/
Все работает, как ожидается, и значения долготы / широты отправляются на наш сервер для сохранения.Но как только пользователь нажимает программную кнопку «Запущенные / активные приложения» на устройстве, а затем нажимает кнопку (X), чтобы закрыть все запущенные приложения и очистить память устройства, а затем снова запустить приложение, затем подключается плагин Geolocation.возвращает 0 для долготы и широты.Насколько я понял, единственный способ исправить это - перезапустить само устройство, что не является решением.
На том же устройстве, если вы запускаете приложение Google Maps Go, проблема, похоже, не возникаетпоскольку приложение Google Maps Go по-прежнему отслеживает устройство во время движения.Это может быть связано с приложением Google Maps Go, которое может быть нативным Android-приложением, а не с гибридным Android-приложением, которое я создаю.Кроме того, то же приложение, которое я создаю, не дает такой же проблемы на других устройствах (протестировано на Blackview BV8000 Pro под управлением Android 7.0, а также на Samsung Galaxy S5 под управлением Android 5.0).Я пробовал приложения с отображением кнопок, чтобы пользователи не нажимали кнопку «Запущенные / активные приложения», но проблема все еще не решена.Я также пробовал использовать несколько сторонних плагинов для отслеживания геолокации, но возникает та же проблема.
Я не уверен, может ли эта проблема быть связана с Android Go, плагином Cordova Geolocation или устройством Blackview A20.Любая помощь приветствуется.
navigator.geolocation.getCurrentPosition(onLocationFound, onLocationError, {"timeout":TIMEOUT_GEO_LOCATION});