【发布时间】:2019-12-16 05:56:12
【问题描述】:
我使用地理围栏使用应用程序,自从我开始使用它以来,我开始使用它来广播接收器,当我关闭 GPS 位置时,我收到了一个带有代码 GEOFENCE_NOT_AVAILABLE 的警报,我启动了一项服务来重新注册地理围栏打开 GPS。 现在我休息了几天,突然我的广播接收器在我关闭 GPS 时没有收到警报。我不明白为什么? *当我进入/退出位置时(就像我在地理围栏初始化中定义的那样)我触发警报,问题只是触发 GEOFENCE_NOT_AVAILABLE 警报。
如果有人可以帮助我,我会很高兴
【问题讨论】:
-
我注意到了同样的问题。我已经使用地理围栏好几年了。从历史上看,每当用户关闭他们的位置服务时,我的 Geofence BroadcastReceiver 都会触发 GEOFENCE_NOT_AVAILABLE 意图,我会知道他们的位置已被禁用。我不再有这个意图,也没有更改任何代码。内部肯定发生了一些变化,但文档仍然建议我应该明白这个意图。我会考虑向问题跟踪器提交一份错误报告,并附上一个重现问题的仓库。
-
@StephenRuda 您是否对 Google 提出了问题?这个问题在 Android 11 中变得很严重 - 没有一个 Android 11 设备接收到最终破坏所有地理围栏的 GEOFENCE_NOT_AVAILABLE 事件。
-
@NoHarmDan 已经很久了,希望我能正确记住所有内容。我得出的结论是,它实际上是更新的 Google Play 服务更新中的一个“功能”。最初,如果您获得 GEOFENCE_NOT_AVAILABLE 意图,它会让您知道地理围栏已被取消注册,因为位置已被禁用。根据我在安装了较新版本的 Google Play 服务的设备上的测试,它不会向您发送 GEOFENCE_NOT_AVAILABLE 意图,因为它实际上并没有取消注册您的地理围栏。如果您重新打开定位服务,它们应该会开始工作。
标签: android android-pendingintent geofencing android-gps android-geofence