【发布时间】:2015-08-19 13:02:38
【问题描述】:
我正在 Phonegap 中构建一个位置感知应用程序,它必须在 背景 中定期检查位置以确定用户何时进入/离开特定地点。这个问题专门针对iOS。重大变化 API 对我没有好处,因为它的准确度水平更像是街道方面而不是建筑方面,而后者是应用程序所需要的。
到目前为止,在阅读了对 this 的精彩回答中的 cmets 之后,我已经设法通过结合此后台模式声明(在 config.xml ):
<gap:config-file platform="ios" parent="UIBackgroundModes" mode="replace">
<array>
<string>location</string>
</array>
</gap:config-file>
当应用启动后在前台时,调用一次:
navigator.geolocation.watchPosition(...)
我需要的是:
- 应用要在间隔之间完全暂停(因为它会耗尽电池让应用在 BG 中的 watchPosition 下全天运行),然后刚醒来每次执行单个 getcurrentPosition + POST 到服务器。
- 要从设备启动直接启动到该例程的应用程序。
所以:
我想我想要的也许是他们谈论的in here(但这是原生的,与Phonegap无关......)。
以 Phonegap 方式实现这一目标的最佳策略是什么?
你们知道使之成为可能的插件或插件组合吗?
我应该滥用定时远程通知来唤醒应用吗(听说有可能,不知道苹果会如何批准...)
或者我必须为此制作自己的插件吗?
我们将不胜感激任何建议或经验。
【问题讨论】:
-
这个插件基于显着变化 API,无法检测到大约几百米以下的位置变化。看起来它不能定期安排后台位置检查,这正是我所需要的 :) 谢谢。
-
你解决过这个问题吗?我自己也想做类似的事情。
-
是的,@Tokn,我将其发布为答案,如果解决方案适合您,请随时寻求进一步的帮助。
-
感谢@FMA,您的回答也支持了我得出的结论。
标签: ios cordova geolocation cordova-plugins background-service