首页 文章

cordova插件地理围栏 - Android无法在后台接收转换事件

提问于
浏览
2

我正在使用this Geofencing plugin为iOS和Android构建一个位置感知的Cordova应用程序 .

当我开始在我的Android设备上测试我的实现时,我发现一旦检测到地理围栏过渡不会在后台处理,而是他们“收集”然后在下次手动启动应用时立即触发(通过“fire”我的意思是调用window.geofence.onTransitionReceived()方法) .

为了澄清,我禁用了包含的通知功能,只希望我的应用程序将事件传递给它,以便在后台静默更新我们的远程服务器 . 虽然iOS版本在后台成功接收了这些转换,但我无法在这里找出Android的错误...

有谁知道这个插件以及如何适当地利用Android?有没有我错过的东西?

谢谢,多尔 .

1 回答

  • 2

    我遇到了类似的问题并提出了这个问题:https://github.com/cowbell/cordova-plugin-geofence/issues/53 . 看来你无法在Android的后台执行javascript,所以这是限制 .

    我的解决方案是在GeofencePlugin.java中编写自己的Java,更改以下方法以满足我的需求(在我的情况下创建一个HttpClient并发送一个POST请求)

    public static void onTransitionReceived(List<GeoNotification> notifications)
    

相关问题