gpt4 book ai didi

android - 当 phonegap 应用程序通过 Geolocation API 在后台运行时,在特定时间间隔后获取设备位置

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:10:05 25 4
gpt4 key购买 nike

我在 PhoneGap 中开发了一个应用程序,它通过地理定位 API 跟踪您的行进路线,我通过 navigator.geolocation.getCurrentPosition(onSuccess, onError); 获取设备的当前位置并更新通过 navigator.geolocation.watchPosition(function(position) 定期获取位置后的折线但现在的问题是它不在后台工作,即(当我打开另一个应用程序并开始在后台运行时)它不更新折线意味着不触发此 navigator.geolocation.watchPosition(function(position) 函数,所以我尝试通过 Cordova-plugin-background-mode 这个插件运行应用程序,它开始在后台运行应用程序,并且再次没有触发 navigator.geolocation。 watchPosition(function(position) 函数意味着这不是必需的,即(不需要安装插件以在后台模式下运行应用程序)。所以请帮我解决这个获取位置的问题在后台模式下。如果我使用这个 Cordova-plugin-mauron85-background-geolocation 插件,我如何在通过 watch 位置时获得位置?如果应用程序运行在前景?我是否必须使用 watchPosition 函数或其他函数?

最佳答案

您可能想深入了解这个 location plugin .他们似乎认为他们已经解决了问题。

快速 fiddle对我有权访问的手机进行的测试表明这不是电话间隙问题。这是一个操作系统问题。大多数手机都经过优化以暂停后台 Activity ,尤其是网络浏览器 Activity 。最好绑定(bind)到 native 事件以获得您想要的行为。

navigator.geolocation.watchPosition( positionChanged, err, options );

我确实注意到,即使是后台任务,手机也会保持所有连接打开。您可以通过对不拒绝但无法响应的服务器进行ajax调用来应对这种情况,添加超时处理程序并设置所需的间隔,在ajax超时处理程序中检查位置然后设置一个新电话。

祝你好运!

关于android - 当 phonegap 应用程序通过 Geolocation API 在后台运行时,在特定时间间隔后获取设备位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47389768/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com