Я разрабатываю приложение, которое подключается к специальному устройству через Wi-Fi. Мне нужно делать обновления статуса за короткий промежуток времени, соответственно. постоянно обновлять статус моего специального устройства в приложении. FCM - это не вариант. Моя идея состоит в том, чтобы предоставить пользователю два варианта: быстрые обновления с использованием службы переднего плана или «медленные» обновления с использованием механизма периодических обновлений для экономии заряда батареи.
У меня вопрос о втором варианте. Интервал должен составлять около пяти минут. Поэтому использование JobScheduler
невозможно. Но даже использование AlarmManager
, похоже, не вариант, потому что я не могу получить доступ к сети во время окон обслуживания дремоты.
Я подумал об использовании WakefulBroadcastReceiver
, чтобы получить Intent
от AlarmManager
, потребовать WakeLock
и превратить мой долго работающий Service
на передний план, вызвав startForeground()
. Но похоже, что метод startForeground()
не влияет на Service
, пока устройство остается в спящем режиме.
Я прочитал много страниц о дремоте и услугах, но понятия не имею, как решить мою проблему ... У кого-нибудь есть идея?