一旦用户在Android Go上做了深度清理(清除所有正在运行的应用程序),Cordova地理定位插件就会停止在Android Go上工作。
我正在为安卓构建一个科尔多瓦应用程序,将安装在多个Blackview A20移动设备上。Blackview A20设备运行的是安卓的精简版Android Go。我正在使用Cordova Geolocation插件来跟踪正在使用的设备:https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-geolocation/
所有内容都按预期工作,并且经度/纬度值被发送到我们的服务器进行保存。但是,只要用户按下设备的“运行/活动应用程序”软键,然后按(X)按钮关闭所有正在运行的应用程序,并清除设备内存,然后再次运行该应用程序,地理定位插件就会返回经度和纬度的0。根据我的经验,解决这个问题的唯一方法是重启设备本身,这不是一个解决方案。
在同一设备上,如果你运行Google Maps Go应用程序,这个问题似乎不会发生,因为当我移动时,Google Maps Go应用程序仍然会跟踪设备。这可能是因为Google Maps Go应用程序可能是原生Android应用程序,而不是我正在构建的混合Android应用程序。此外,我正在构建的同一个应用程序在其他设备上也不会出现同样的问题(在运行Android7.0的Blackview Galaxy专业版和运行Android5.0的三星BV8000 S5上进行了测试)。我尝试了按钮映射应用程序,试图阻止用户按下正在运行/活动的应用程序按钮,但它仍然不能解决手头的问题。我还尝试了多个第三方插件来跟踪地理位置,但同样的问题也出现了。
我不确定这个问题是由于Android Go、Cordova地理定位插件还是Blackview A20设备造成的。感谢您的帮助。
navigator.geolocation.getCurrentPosition(onLocationFound, onLocationError, {"timeout":TIMEOUT_GEO_LOCATION});发布于 2019-04-24 22:14:26
如果我没理解错,当你做深度清理时,你必须再次从用户那里获取权限,或者去应用程序设置,检查权限面板和手动切换位置权限。
https://stackoverflow.com/questions/55831896
复制相似问题