Android:如何在用户关闭位置设置时获取地理围栏事件?
Posted
技术标签:
【中文标题】Android:如何在用户关闭位置设置时获取地理围栏事件?【英文标题】:Android: How can I get geofence events on location setting being turned off by the user? 【发布时间】:2020-03-02 05:18:15 【问题描述】:我正在使用 Google 的位置服务样本(即地理围栏样本)进行测试。 https://github.com/android/location-samples/tree/master/Geofencing
据我了解,用户应该关闭位置上的地理围栏事件,以便我可以处理状态 GEOFENCE_NOT_AVAILABLE 但我没有收到任何有关位置设置被关闭的事件,而且我一般看不到任何错误.位置关闭时如何获取事件
【问题讨论】:
【参考方案1】:使用示例,您应该能够截获 GeofenceBroadcastReceiver.java 中的状态码。
public class GeofenceBroadcastReceiver extends BroadcastReceiver
@Override
public void onReceive(Context context, Intent intent)
GeofencingEvent event = GeofencingEvent.fromIntent(intent)
if ( event.hasError() && event.getErrorCode() == GeofenceStatusCodes.GEOFENCE_NOT_AVAILABLE ) ...
如果您仍然不确定,请查看以下链接以获取 GeofencingEvent.getErrorCode()。 https://developers.google.com/android/reference/com/google/android/gms/location/GeofencingEvent.html#getErrorCode()
【讨论】:
我只是在前台使用示例对其进行调试。问题是当我手动关闭位置设置时没有收到广播。当我关闭位置设置时,我上车并停留以及退出,但什么也没有。 根据文档,在大多数设备上,地理围栏服务仅使用网络位置来触发地理围栏,所以也许也可以尝试关闭网络,否则我没有想法,抱歉。也许看看这个帖子,可能和你的问题一样:***.com/questions/57413993/…以上是关于Android:如何在用户关闭位置设置时获取地理围栏事件?的主要内容,如果未能解决你的问题,请参考以下文章
位置侦听器适用于 Android 6.0 但不适用于 android 8.0+ [关闭]