【问题标题】:Add Geofence in a Service in android在android的服务中添加地理围栏
【发布时间】:2017-04-10 13:21:53
【问题描述】:
我有一个非常小的用例。用户 A 使用 Google-Maps 并为用户 B 保存地理围栏坐标。现在我使用 Firebase 保存与此地理围栏相关的所有信息,然后我的应用服务器将所有地理围栏相关数据发送到用户 B 的手机。但是,我不明白如何在不调用GoogleMapsActivity 的情况下从Firebase Messaging Service 设置地理围栏。我想在后台做。我试图在互联网上搜索很多关于这个主题的内容。但是所有的教程都没有涵盖这个领域。如果有人可以分享并指导我解决这个问题,那将是一个很大的帮助。
【问题讨论】:
标签:
android
google-maps
firefox
android-geofence
【解决方案1】:
如果我理解你的话,你想在后台服务中添加一些地理围栏。您当然可以这样做,只需创建一个全新的 Intent 服务来执行此操作并将所需的数据传递给它。
您的服务应该实现GoogleApiClient.ConnectionCallbacks、GoogleApiClient.OnConnectionFailedListenerinterfaces 并在onCreate 方法中创建GoogleApiClient 对象。
在onHandleIntent 中,您应该连接到GoogleApiClient,然后在GoogleApiClient.ConnectionCallbacks 中的onConnected 回调方法中注册您的地理围栏。
为了防止服务在执行异步注册方法时停止,可以使用CountDownLatch。
关于geofences的一些附加信息。