Я создал простой будильник.
Он работает выше и ниже oreo +, но проблема в том, что когда я закрываю приложение выше oreo +, будильник не работает.
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Intent nIntent = new Intent(getApplicationContext(),MyAlarm.class);
nIntent.setFlags(FLAG_INCLUDE_STOPPED_PACKAGES);
PendingIntent sender = PendingIntent.getBroadcast(getApplicationContext(), 1234, nIntent, 0);
//creating a pending intent using the intent
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, (int)alarmPeriodicTime, nIntent, PendingIntent.FLAG_CANCEL_CURRENT);
alarmManager.cancel(pendingIntent);
if (Build.VERSION.SDK_INT >= 23) {
alarmManager.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP, alarmPeriodicTime, pendingIntent);
} else if (Build.VERSION.SDK_INT >= 19) {
alarmManager.setExact(AlarmManager.RTC_WAKEUP, alarmPeriodicTime, pendingIntent);
} else {
alarmManager.set(AlarmManager.RTC_WAKEUP, alarmPeriodicTime, pendingIntent);
}
Toast.makeText(this, "Alarm is set "+new Date(alarmPeriodicTime), Toast.LENGTH_SHORT).show();
Кто-нибудь знает почему?