В моем приложении используется AlarmManager, и он работает с 4 лет назад. Но я заметил, что в некоторых устройствах он не срабатывал.
Я уверен, что код прав (я использую WakefulBroadcastReceiver и setExactAndAllowWhileIdle для устройств с Doze), потому что он отлично работает на устройствах Nexus, но он не работает на устройствах некоторых производителей (Huawei, Xiaomi...).
У устройств Huawei, например, есть своего рода менеджер батарей, который убивает приложения, а когда приложение убито, запланированные аварийные сигналы отменены. Поэтому настройка приложения как "защищенного" в диспетчере аккумуляторов Huawei решает проблему.
Но недавно я заметил, что он не работает с большим количеством устройств: Xiaomi, Samsung (может быть, он связан с новым "Smart Manager"?)... Кажется, что это поведение становится стандартом: убивать фоновые приложения.
Кто-нибудь знает что-нибудь об этом? Любой способ обеспечить срабатывание сигнализации?