在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)

Solutions Collecting From Web of "在Android中添加地理栏位时出错(状态码为1000)"

如果用户不同意“设置” – >“位置” – >“模式”中的“使用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的更多详细信息。

屏幕截图供参考:

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

希望这会让你清楚。