Подтвердить что ты не робот

Ошибка добавления геофонов в Android (код состояния 1000)

Я получаю ошибку в обратном вызове onAddGeofencesResult(int statusCode, String[] geofenceRequestIds) с statusCode = 1000.

У меня включен GPS и мой WiFi. У меня также есть Google Play Services, и я могу отслеживать свое местоположение и запрашивать обновления. Почему я не могу добавить геозоны? Я не могу добавить геообъекты даже из примера примера документации. Я получаю следующее сообщение Toast:

"Добавить Geofences: Failure, код ошибки 1000 GeofenceRequestIds = [1,2,1,2]"

Из документации (statusCode 1000):

public static final int GEOFENCE_NOT_AVAILABLE

Служба Geofence недоступна сейчас. Обычно это происходит из-за того, что пользователь отключил доступ к местоположению в настройках > доступ к местоположению.

Постоянное значение: 1000 (0x000003e8)

4b9b3361

Ответ 1

Вы получаете GEOFENCE_NOT_AVAILABLE (код "1000" ), когда пользователь не соглашается "Использовать службы геолокации Google" в "Настройки- > Местоположение- > Режим: enter image description here

Чтобы исправить это:

  • перейдите в Настройки- > Местоположение- > Режим
    enter image description here
  • set "Только устройство (используйте GPS для определения вашего местоположения)"
  • установить любую другую опцию для всплывающего окна (например, "Высокая точность (использовать GPS, Wi-Fi и мобильные сети для определения местоположения" ). Диалоговое окно
  • "Использовать службы геолокации Google" отображается
  • выберите "Согласен"

Ответ 2

Я получал statusCode 1000, когда пытался запустить это приложение на эмуляторе. Вещь, которая исправила это, заключалась в том, чтобы перейти в Настройки- > местоположения и доступ- > Проверить параметр включения Wi-Fi и gps на эмуляторе, и он исправит его.

Ответ 3

Немного позже, но сейчас у меня была эта проблема. Я предполагаю, что:

вы используете какой-либо фальшивый GPS на своих тестах (Lockito, эмулятор и т.д.)?

Я занимаю несколько часов, пока не узнаю, что поддельные локации, похоже, отключают поддержку Geofence! Вы не можете зарегистрировать или запустить Geofence, если вы действительно не находитесь в этом месте.

Если вы отключите поддельный GPS, поддержка Geofence снова будет включена.

Ответ 4

Размещение этого ответа, так как настройки в Android сильно изменились. У меня была эта ошибка дважды, когда я запускал эмулятор Nexus 5X с API 28. Мне удалось решить ее оба раза, выполнив следующие действия:

  1. Выключите ваше приложение, которое вы разрабатываете (не позволяйте ему быть в фоновом режиме)
  2. Перейдите в Настройки → Безопасность и местоположение → Местоположение → Дополнительно → Точность местоположения Google. Turn "Улучшить Точность положения" выключено.

enter image description here

  1. Включите "Улучшить Точность положения"

Снова включите ваше приложение и добавление геозон работает для меня после того, как я предпринял эти шаги.

РЕДАКТИРОВАТЬ: я столкнулся с этой проблемой снова несколько месяцев спустя, иногда эмулятор упрямый и на самом деле не корректно включает точность определения местоположения, чтобы позволить Google Geofence API распознавать, что он включен. Мне нужно было включить и выключить "Повышение точности определения местоположения" как минимум 10 раз, прежде чем сработала точность определения местоположения.

Ответ 5

Вы действительно дали ответ в своем вопросе: Служба Geofence недоступна сейчас. Обычно это происходит из-за того, что пользователь отключил доступ к местоположению в настройках > доступ к местоположению.

У меня была такая же проблема, и я просто перешел в настройки → location и убедился, что я выбираю режим высокой точности, исправляющий эту проблему.

Только режим устройства PS не достаточно хорош, он должен быть режимом высокой точности.

Надеюсь, что это поможет.

Ответ 6

Прежде всего, ваш телефон должен быть совместим: A compatible Android device that runs Android 2.2 or higher and includes Google Play Store.

Чтобы быть уверенным, что вам нужно правильно установить службу Google Play .

Иногда, просто перезагрузка телефона может решить эту проблему.

Надеюсь на эту помощь.

Ответ 7

Я сделал глупую ошибку:

Ошибка произошла из-за того, что У устройства нет разрешения для GPS (служба определения местоположения).

Подробнее о API Geofencing здесь.

Снимки экрана для справки:

введите описание изображения здесь введите описание изображения здесь

Надеюсь, это поможет вам понять.

Ответ 8

Ошибка 1000 продолжает появляться, как 10 раз в день, что можно сделать, чтобы удалить его У меня есть телефон Verizon, который разблокирует и использует другую сим-карту в помощь, пожалуйста