You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

设置Geofence地理围栏时出现GEOFENCE_NOT_AVAILABLE错误如何解决

问题原因与解决方案

GEOFENCE_NOT_AVAILABLE错误代表谷歌移动服务(GMS)的地理围栏能力当前不可用,你的核心功能代码逻辑没有问题,问题出在权限、设备配置、Manifest声明三个环节:

  • 权限申请不全
    • Android 10(API 29)及以上系统,地理围栏要求必须获取ACCESS_BACKGROUND_LOCATION后台位置权限,你当前只申请了ACCESS_FINE_LOCATION精确定位权限,需要补充该权限的申请逻辑。
    • Android 12(API 31)及以上系统,额外需要申请ACTIVITY_RECOGNITION权限才能正常使用地理围栏功能。
  • 设备配置不符合要求
    • 地理围栏要求设备的位置服务必须开启高精度模式,如果仅开启了设备定位(仅GPS)或省电模式(仅网络定位),就会触发该错误。
    • 设备必须安装正常运行的谷歌移动服务(GMS Core),无GMS、GMS版本过低、GMS被禁用都会触发该错误。
  • Manifest配置缺失
    • 你需要在AndroidManifest.xml中静态注册GeofenceBroadcastReceiver,动态注册的广播在APP进程被杀死后无法收到地理围栏触发回调。
    • 确认你已经在Manifest中正确声明了所有用到的权限、谷歌地图API密钥。
  • 代码小瑕疵(不触发当前报错,仅影响功能)
    • Maps.java的addCircle方法中,circleOptions.strokeColor(4);属于参数错误,strokeColor方法需要传入颜色值,设置描边宽度应该调用circleOptions.strokeWidth(4)。

内容的提问来源于stack exchange,提问作者Carlos Melendez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 07:15:06