在 android 的服务中添加地理围栏

Add Geofence in a Service in android

我有一个非常小的用例。用户 A 使用 Google-Maps 并为用户 B 保存地理围栏坐标。现在我使用 Firebase 保存与此地理围栏相关的所有信息,然后我的应用程序服务器将所有地理围栏相关数据发送到用户 B 的 phone。但是,我不明白如何在不调用 GoogleMapsActivity 的情况下从 Firebase Messaging Service 设置地理围栏。我想在后台进行。我试图在互联网上搜索很多关于这个主题的内容。但是所有的教程都没有涵盖这个领域。如果有人可以分享并指导我解决这个问题,那将是一个很大的帮助。

如果我很了解你,你想在后台服务中添加一些地理围栏。当然你可以做到,只需创建一个品牌,新的意图服务来做到这一点并将所需的数据传递给它。

您的服务应实现 GoogleApiClient.ConnectionCallbacksGoogleApiClient.OnConnectionFailedListener 接口和内部 onCreate 方法创建 GoogleApiClient 对象。

onHandleIntent 中,您应该连接到 GoogleApiClient,然后在 onConnected 回调方法中 GoogleApiClient.ConnectionCallbacks 注册您的地理围栏。

为防止服务在执行异步注册方法时停止,可以使用CountDownLatch

关于 geofences 的一些附加信息。