Я не понимаю, что происходит с моими вызовами Geofencing API, рассылающими спам по моему веб-API.
Вот что (иногда) происходит:
- Пользователь добавляет геозоны.
- Геозона обнаружена с помощью BroadcastReceiver, который ставит в очередь JobIntentService (для Android O +)
- Это вызывает уведомление о том, что геозона была переведена
ОнаДо этого момента работал идеально.
Отсюда он получает событие Geofence (ENTER или EXIT) и добавляет или обновляет их в локальной базе данных (Room).
A "syncЗатем вызывается метод для извлечения всех кэшированных геозон и отправки их в мой веб-API.
Он отлично работает на моем телефоне, но по некоторым причинам на некоторых устройствах только иногда - отправляет ту же геозону.событие 4 раза за один переход.Я понятия не имею, как это происходит или с чего начать.Я смог повторить эту проблему (только один раз) прошлой ночью, выбрав точку останова и оставив ее на несколько минут, прежде чем продолжить - что заставляет меня задуматься, не связано ли это с JobIntentService, если он сам перепланирует себя немедленно, если он не завершится.... или что-то.
Есть идеи?Заранее спасибо.