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

Spe*_*mon 30 android geolocation android-location google-play-services android-geofence

我在onAddGeofencesResult(int statusCode, String[] geofenceRequestIds)回调中遇到错误statusCode = 1000.

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

"添加地理栅栏:失败,错误代码1000 GeofenceRequestIds = [1,2,1,2]"

从文档(statusCode 1000):

public static final int GEOFENCE_NOT_AVAILABLE

地理围栏服务现在不可用.通常这是因为用户在设置>位置访问中关闭了位置访问权限.

常数值:1000(0x000003e8)

Mar*_*och 33

GEOFENCE_NOT_AVAILABLE当用户在设置 - >位置 - >模式中不同意"使用Google"位置服务时,您会得到(代码'1000'):在此输入图像描述

要解决这个问题:

  • 转到设置 - >位置 - >模式
    在此输入图像描述
  • 设置"仅限设备(使用GPS确定您的位置)"
  • 设置任何其他选项以获取弹出窗口(例如"高精度(使用GPS,Wi-Fi和移动网络来确定位置")
  • 显示对话框""使用Google"位置服务"
  • 选择"同意"

  • 截至目前.这个答案不起作用. (2认同)
  • 更新:我刚刚将`Settings` - >`Location` - >`Mode`设置为`High Accuracy`,我能够成功设置地理围栏!(我讨厌在Android上使用GPS!) (2认同)

Min*_*aps 12

由于 Android 中的设置发生了很大变化,因此发布此答案。当我运行运行 API 28 的 Nexus 5X 模拟器时,我两次遇到此错误。我通过执行以下操作设法解决了两次:

  1. 关闭您正在开发的应用程序(不要让它在后台运行)
  2. 转到设置 -> 安全和位置 -> 位置 -> 高级 -> Google 位置准确度。关闭“提高位置准确性” 。

在此处输入图片说明

  1. 打开“提高定位精度”

执行这些步骤后,再次打开您的应用程序并添加地理围栏对我有用。

编辑:几个月后我再次遇到这个问题,有时模拟器很顽固,实际上并没有正确打开位置准确性以允许 Google 的地理围栏 API 识别它已打开。在定位准确度起作用之前,我至少打开和关闭了“提高定位准确度”10 次。

  • 对于 APK 28 模拟器,打开此选项修复了错误。 (2认同)

And*_*390 5

当我试图在模拟器上运行这个应用程序时,我得到了statusCode 1000.解决这个问题的方法是进入Settings-> locations和access->检查模拟器上的enable wifi和gps选项,它会修复它


Ren*_*nza 5

过了一会儿,但刚才我遇到了这个问题。我的猜测是:

您在测试中使用了任何一种伪造的GPS(Lockito,仿真器等)?

我花了几个小时才发现假地点似乎禁用了Geofence支持!如果您不在该位置,则无法注册或触发地理围栏。

如果您关闭了伪造的GPS,则将再次启用Geofence支持。


And*_*ues 1

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

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

有时,只需重新启动手机即可解决此问题。

希望这有帮助。