我正在利用this Geofencing plugin为iOS和Android构建一个位置感知的Cordova应用程序.
当我开始在 Android 设备上测试我的实现时,我发现地理围栏转换不会在检测到它们后立即在后台处理,而是“收集”,然后在下次应用程序时立即触发手动启动(“fire”我的意思是调用 window.geofence.onTransitionReceived() 方法)。
为了澄清,我禁用了包含的通知功能,只期望我的应用程序将事件传递给它,以便在后台静默更新我们的远程服务器。虽然 iOS 版本在后台成功接收了这些转换,但我不知道 Android 出了什么问题......
有人知道这个插件以及如何在 Android 上正确使用它吗? 我是不是错过了什么?
谢谢,多尔。
最佳答案
我遇到了类似的问题并提出了这个问题:https://github.com/cowbell/cordova-plugin-geofence/issues/53 。看来您无法在 Android 上在后台执行 javascript,因此这是限制。
我的解决方案是在 GeofencePlugin.java 中编写自己的 Java,更改以下方法来满足我的需求(在我的例子中创建 HttpClient 并发送 POST 请求)
public static void onTransitionReceived(List<GeoNotification> notifications)
关于android - cordova 插件 geofence - Android 无法在后台接收转换事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32852381/