我正在Phonegap中构建一个位置感知应用,必须在后台中检查位置定期,以确定用户何时进入/退出特定位置。这个问题是关于iOS的。重大改变API对我来说并不好,因为它的准确性水平就像街道一样,然后是建筑方面,后者是应用程序所需要的。
到目前为止,在阅读了this的答案中的评论之后,我已经设法通过此背景模式声明( in config.xml >)将应用程序保留在后台。 EM>):
<gap:config-file platform="ios" parent="UIBackgroundModes" mode="replace">
<array>
<string>location</string>
</array>
</gap:config-file>
一旦应用程序在启动后处于前台,请调用:
navigator.geolocation.watchPosition(...)
我认为我想要的是他们所谈论的in here(但这是原生的,无论是Phonegap ......)。
以Phonegap方式实现这一目标的最佳策略是什么?
你们知道一个插件或插件的组合使它成为可能吗?
我是否滥用定时远程通知以唤醒应用(听说有可能,不知道苹果会如何批准...)
或者我必须为此目的制作自己的插件吗?
任何建议或经验都将受到赞赏。
答案 0 :(得分:4)
至于在询问Q之后的几个月里我学到了什么,在iOS中的定时间隔内无法唤醒应用程序。
正如我在Q中所述,我的目标是确定用户何时进入/存在特定地点(实际上是建筑物)。解决此问题的最佳方法是iOS中的Region Monitoring API,一旦设备进入应用程序预定的特定地理区域,就会在后台唤醒应用程序。它虽然有一些局限性,但我们正在尝试各种优化来克服它们。
存在一些cordova的插件,这是我最终选择的插件: https://github.com/cowbell/cordova-plugin-geofence
花了一些时间来实施......