【发布时间】:2019-05-02 12:53:37
【问题描述】:
我的要求设置为Notification 特定时间,例如用户生日或假期
我正在使用 AlarmManager 使用广播接收器安排通知
代码在6.0 中运行良好(即使应用程序被杀死,从最近的列表中滑动)但在Android 8.1.0 上无法运行(Mf : Oppo)
阅读了This 和This 以及许多答案,但没有找到任何帮助 知道如何解决这个问题
这是我的代码
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);
}
【问题讨论】: