谷歌地理围栏不工作,总是 GEOFENCE_NOT_AVAILABLE

Posted

技术标签:

【中文标题】谷歌地理围栏不工作,总是 GEOFENCE_NOT_AVAILABLE【英文标题】:Google geofencing not working, always GEOFENCE_NOT_AVAILABLE 【发布时间】:2017-02-26 20:55:33 【问题描述】:

我尝试了这么多天使用 Google Location API 在地图中定义地理围栏,我使用 Smart Location Library 与 genymotion 一起使用 Lockito 来测试我的地理围栏,但当时我开始 lockito 测试我的IntentService 捕获 google 地理围栏事件,错误代码为 1000,在 Google APIs for android docs 这意味着 GEOFENCE_NOT_AVAILABLE 错误,我使用 genymotion 和我的 Moto G3 进行测试,但结果相同,然后我尝试从 github 测试项目并结果也是一样的,我确保在我的设备中 GPS 处于开启状态并保持最佳精度;我尝试了以下项目,但没有任何改变错误:

https://code.tutsplus.com/tutorials/how-to-work-with-geofences-on-android--cms-26639

https://github.com/vhoen/Android-Geofence-21 使用这个我收到一条消息,告诉我地理围栏服务在我的 genymotion 模拟器中启动时没有运行,但在我的 Moto G3 中没有,但是当我使用 lockito 时仍然会出现错误。

额外数据:测试是在安卓 6.0 的手机上进行的,我使用 Google 服务 9.6.1 和 9.4.0 进行测试,结果各不相同。

【问题讨论】:

只要使用this,当用户不同意“设置”->“位置”->“模式为我工作”时,您会得到 GEOFENCE_NOT_AVAILABLE(代码“1000”)! 【参考方案1】:

我曾尝试使用 Genymotion 模拟器,但遇到了类似的 GEOFENCE_NOT_AVAILABLE 错误。在我的特殊情况下,原因是模拟器上没有安装 Google Play 服务。

【讨论】:

【参考方案2】:

真正的问题是使用 Lockito,您必须测试其他应用以在 genymotion 或真实设备中模拟位置。

【讨论】:

以上是关于谷歌地理围栏不工作,总是 GEOFENCE_NOT_AVAILABLE的主要内容,如果未能解决你的问题,请参考以下文章

并不总是触发带有 BroadcastReceiver 的地理围栏

谷歌地理围栏应用程序[重复]

如何使地理围栏准确?

地理围栏有效,但一段时间后停止触发

应用程序在后台 ios 中时地理围栏不起作用

使用融合位置地理围栏时是不是需要请求位置更新?