Кроме того, геозоны, фоновые уведомления и службы определения местоположения успешно регистрируются с помощью диспетчера задач, за исключением этого.
Вызов ожидает TaskManager.isTaskRegisteredAsync(GEOFENCING_TASK) возвращает false, и я не могу его отладить и не получить никаких ошибок.
Я использую физические устройства, как iOS, так и Android, тестирую его с помощью экспо- dev-client, и он не работает ни с одним из них.
Я убедился, что для разрешений фонового местоположения установлено значение «Всегда»,
установил все сообщения о разрешениях. в ios.infoPlist
(
NSLocationAlwaysUsageDescription,
NSLocationWhenInUseUsageDescription,
NSLocationAlwaysAndWhenInUseUsageDescription
)
,
установите android.permissions в
["ACCESS_COARSE_LOCATION",
"ACCESS_FINE_LOCATION",
"ACCESS_BACKGROUND_LOCATION",
"FOREGROUND_SERVICE",
"RECEIVE_BOOT_COMPLETED"
]
установите для параметра "UIBackgroundModes" значение ["location", "fetch" ", "удаленное уведомление"],
установить «isAndroidBackgroundLocationEnabled»: true и «isIosBackgroundLocationEnabled»: true.
Я предоставил не более 20 регионов, используя
Код: Выделить всё
await startGeofencingAsync(GEOFENCING_TASK, regions)передавал регионы как массив соответствующих объектов:
{identifier, latitude, longitude, radius, notifyOnEnter, notifyOnExit),
и Я не устанавливал никаких параметров экономии заряда батареи или каких-либо дополнительных настроек, которые могли бы помешать работе геозон.
Я не знаю, нужно ли что-то еще проверить или настроить; код инициализации геозон довольно прост, но следование всем инструкциям в документации не привело меня к успеху.
Кроме того, есть ли какие-либо ограничения на радиус (необходимый минимум)? Если я начинаю геозонирование и уже нахожусь внутри определенного региона, должно ли немедленно вызываться событие «ON ENTER»?»
Подробнее здесь: https://stackoverflow.com/questions/778 ... ing-sdk-49
Мобильная версия