IOS背景中具有地理位置的phonegap

Posted

技术标签:

【中文标题】IOS背景中具有地理位置的phonegap【英文标题】:phonegap with geolocation in background in IOS 【发布时间】:2013-01-07 23:24:10 【问题描述】:

所有, 我正在开发一个使用 phonegap 提供的地理定位服务的应用程序(使用最新版本 2.2.0。我现在只在 ios 上进行测试(最终我也想至少在 android 上工作)。 在 IOS 上,前台应用程序一切正常。当应用程序进入后台时,地理编码停止工作,我不再收到更改位置事件。 我的应用程序信息 plist 的所需背景模式部分下确实有所需的“应用程序注册以进行位置更新”,并且我已经使用此标志完成了 ISO 编码,即使应用程序处于后台,我的应用程序也会报告位置更改,所以我想知道为什么这对 phonegap 不起作用。

我没有做任何花哨的工作。我的代码只是用于 watchPosition 的 cordova 代码的副本。

任何指针或帮助将不胜感激。

阿米尔

【问题讨论】:

【参考方案1】:

问题是PhoneGap中的javascript在应用程序在后台时不运行。要提供后台进程功能,您需要创建一个插件来管理后台进程。

http://docs.phonegap.com/en/2.2.0/guide_plugin-development_index.md.html

我知道一个已经存在的插件可以在 Android 上执行此操作,但在 iOS 上没有。

https://github.com/phonegap/phonegap-plugins/tree/master/Android/BackgroundService

【讨论】:

Android 和 iOS 都存在 PowerManagement 插件,但需要针对最新版本的 phonegap 进行更新。这将允许您获得完整的唤醒锁并保持屏幕开启,但可以轻松扩展以支持部分唤醒锁(当屏幕关闭时保持 CPU 在后台运行 phonegap 应用程序)

以上是关于IOS背景中具有地理位置的phonegap的主要内容,如果未能解决你的问题,请参考以下文章

Phonegap 每 5 分钟在后台唤醒应用程序以检查位置 iOS

Phonegap iOS 在后台使用地理位置

通过 PhoneGap 中的短信分享手机地理位置坐标(适用于 Android/IOS)

未找到 Phonegap 3.3/Cordova iOS 地理位置

如何在 iOS 中删除 Phonegap 构建权限警报?

phonegap Inappbrowser 不显示位置栏(ios)