在Android中添加地理栏位时出错(状态码为1000)

我在onAddGeofencesResult(int statusCode, String[] geofenceRequestIds)callbackstatusCode = 1000

我有我的GPS启用和我的WiFi。 我也有Google Play服务,我可以跟踪我的位置并请求更新。 为什么我无法添加地理栅栏? 即使从文档示例应用程序中,我也无法添加地理栅栏。 我收到以下Toast消息:

“添加地理位置:失败,错误代码1000 GeofenceRequestIds = [1,2,1,2]”

从文档(statusCode 1000):

public static final int GEOFENCE_NOT_AVAILABLE

地理栅栏服务现在不可用。 通常这是因为用户在设置>位置访问中closures了位置访问。

常量值:1000(0x000003e8)

  • 如何将Google Play服务修订与安装版本相匹配?
  • Android OSS许可证插件在点击菜单项时崩溃
  • Android:检查是否使用融合位置提供程序启用了位置服务
  • 如何将Google Play服务版本与安装版本相匹配?
  • GCMnetworkingpipe理器可以在非Play设备上工作吗?
  • Google Play服务返回使用非Google密钥签名的令牌
  • GoogleApiClient onConnectionSuspended,我应该再次调用mGoogleApiClient.connect()吗?
  • 如何在打开全景Android时设置photosphere模式
  • 如果用户不同意“设置” – >“位置” – >“模式”中的“使用Google”位置服务, GEOFENCE_NOT_AVAILABLE获得GEOFENCE_NOT_AVAILABLE (代码为“1000” 在这里输入图像说明

    要解决这个问题:

    • 进入设置 – >位置 – >模式
      在这里输入图像说明
    • 设置“仅限设备(使用GPS确定您的位置)”
    • 设置任何其他选项来获得popup窗口(例如“高精度(使用GPS,Wi-Fi和移动networking来确定位置”)
    • 对话框显示“使用Google”位置服务“
    • select“同意”

    当我试图在模拟器上运行这个应用程序时,我得到了statusCode 1000。 解决这个问题是进入设置 – >位置和访问 – >检查模拟器上的启用WiFi和GPS选项,它会解决它

    稍后,但现在我有这个问题。 我的猜测是:

    你在testing中使用任何一种假GPS(Lockito,仿真器等)?

    我花了几个小时,直到我发现假的地点似乎禁用Geofence的支持! 如果您不在真正的位置,则无法注册或触发Geofence。

    如果closures伪造的GPS,则Geofence支持将再次启用。

    首先,您的手机必须兼容: A compatible Android device that runs Android 2.2 or higher and includes Google Play Store.

    可以肯定的是,您需要正确安装 Google Play服务。

    有时候,重新启动手机可以解决这个问题。

    希望这个帮助。

    您实际上在您的问题中给出了答案:Geofence服务现在不可用。 通常这是因为用户在设置>位置访问中closures了位置访问。

    我有这个相同的问题,只是去设置 – >位置,并确保我select高精度的模式解决了这个问题。

    仅PS设备模式不够好,需要高精度模式。

    希望这可以帮助。

    我犯了一个愚蠢的错误:

    由于设备没有GPS权限(位置服务),因此发生错误

    有关Geofencing API的更多详细信息。

    屏幕截图供参考:

    在这里输入图像说明 在这里输入图像说明

    希望这会让你清楚。