[英]AlarmManager not working in Android 8.1.0
My requirement is set Notification<\/code> for specific time like user birthday or holiday
我的要求是设置特定时间的
Notification<\/code> ,例如用户生日或假期
I am using AlarmManager<\/a><\/strong> for scheduling notification using broadcast receiver我正在使用
AlarmManager<\/a><\/strong>使用广播接收器来安排通知
Readed
This<\/a> and This<\/a> and many answers but not find any helpfull any idea how to solve this issue阅读了
这个<\/a>和这个<\/a>以及许多答案,但没有找到任何有用的任何想法如何解决这个问题
AlarmManager am = (AlarmManager) getApplicationContext().getSystemService(Context.ALARM_SERVICE);
//creating a new intent specifying the broadcast receiver\
Intent i = new Intent(this, HolidayBroadcast.class);
i.putExtra("eventName",islamicHoliday.getEventName());
i.putExtra("dateH", testTmp.getCalendar().getTimeInMillis());
i.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
//creating a pending intent using the intent
PendingIntent pi = PendingIntent.getBroadcast(this, new Random().nextInt(), i, PendingIntent.FLAG_UPDATE_CURRENT);
//setting alarm
if(Build.VERSION.SDK_INT>= Build.VERSION_CODES.M) {
am.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP,getTimeInMillis(), pi);
}
else
{
am.setExact(AlarmManager.RTC_WAKEUP, getTimeInMillis(), pi);
}
You can use workmanager as mentioned in link.It supports all api version and easy to use because it uses backward compatibility to API level 14 您可以使用链接中提到的workmanager,它支持所有api版本并且易于使用,因为它向后兼容API级别14
https://developer.android.com/topic/libraries/architecture/workmanager https://developer.android.com/topic/libraries/architecture/workmanager
https://medium.com/androiddevelopers/introducing-workmanager-2083bcfc4712 https://medium.com/androiddevelopers/introducing-workmanager-2083bcfc4712
如果您的任务对时间要求很高,则不建议使用 WorkManager API,因为您的警报管理器无法正常工作,在 Android 8 上使用AlarmManager.setexactandallowwhileidle()<\/code>来设置准确时间并允许在应用程序被终止时发出唤醒通知。
"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.