0

我下载了GeoDetection.zip文件,用于使用 Google Play 服务 API 尝试基于位置的地理围栏,该 API 可从开发者 android 网站通过以下链接获得:

http://developer.android.com/training/location/geofencing.html

但是当我尝试使用此应用程序添加地理围栏时,我不断收到错误GEOFENCE_NOT_AVAILABLE

我试图检查这个错误是什么意思,我发现如果位置访问不可用,那是我应该收到这条消息的时候,但我检查了手机上的位置服务部分,我看到所有位置都提供 GPS/Wifi 位置都启用了。我也成功连接到WIFI。不知道为什么我仍然收到消息。

还有其他人遇到这个问题吗?..如果是这样,你有我可以尝试的修复吗?

还有其他建议吗?...我尝试了很多选项以确保它捕获了所有选项,但是没有太多调试信息可供我继续进行。

提前致谢

4

2 回答 2

0

上述错误 GEOFENCE_NOT_AVAILABLE 是一个预期的错误代码,让您知道位置适配器已关闭并且位置(和地理围栏)将不再被跟踪。

一旦再次可用,您的地理围栏将处于活动状态,您将获得所需的回调。

触发器没有发生的几个原因:

  1. 检查您在地理围栏请求中设置的到期时间戳是否仍然有效。
  2. 你的设备重启了吗?如果是,您需要重新注册围栏。(参考文档:仅在需要文档时重新注册地理围栏)
  3. 您的位置是否在设备设置中设置为高精度模式?当您重新注册您的栅栏时,您应该先取消注册,然后再重新注册。
  4. 打开谷歌地图并检查它是否显示正确的位置。
  5. 您的设备是否启用了电池优化?这将延迟地理围栏触发器
  6. 您的应用程序是否被列入后台操作白名单(在某些中国 OEM 中发生)
于 2020-07-09T15:51:26.490 回答
0

您是否请求 FINE_LOCATION 权限?请记住,在 Android 6 及更高版本上,您也必须在运行时处理权限。

于 2016-06-07T15:05:52.403 回答