Я использую минимальную версию sdk 20 и целевую версию sdk 30. Мое тестовое устройство - Android Q. Когда приложение запущено, Alarm Manager работает нормально и показывает уведомление вовремя, но когда приложение закрывается, удаляется из недавних и телефон заблокирован, тогда диспетчер сигналов тревоги не работает.
Какое решение?
Я использую это в коде: -
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
alarmManager.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP, c.getTimeInMillis(), pendingIntent);
} else {
alarmManager.setExact(AlarmManager.RTC_WAKEUP, c.getTimeInMillis(), pendingIntent);
}
Вот я сделал при срабатывании диспетчера аварийных сигналов: -
public class ReminderReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
//here i did notification task
}
}
Это добавленный манифест: -
<receiver android:name=".ReminderReceiver" />