我想为实施代码的每24小时生成一次通知,但是在运行时,该通知在一天中多次出现。即当通知出现在面板中时,我将其从面板上刷下。同一条通知应在第二天出现,而在同一天不应出现多次。
代码如下:
Calendar cal = Calendar.getInstance();
Date d = cal.getTime();
DateFormat df = new SimpleDateFormat("dd");
String date_str = df.format(d.getTime());
int hour = cal.get(Calendar.HOUR_OF_DAY);
int minute= cal.get(Calendar.MINUTE);
cal.set(Calendar.HOUR_OF_DAY, hour);
cal.set(Calendar.MINUTE, minute);
cal.set(Calendar.SECOND, 0);
intent.putExtra(REQUEST_CODE_STRING, requestCode);
// cancelTrigger(context,requestCode,intent);
// cancelTriggerAlarm(context);
PendingIntent sender = PendingIntent.getBroadcast(context, requestCode, intent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
//
am.setInexactRepeating(AlarmManager.RTC_WAKEUP,
cal.getTimeInMillis(),
1000 * 60 * 60 * 24, // 24 hrs in milliseconds
sender);
答案 0 :(得分:1)
每次重新启动应用程序时,都会向Alarmmanager添加新的“ 24小时内通知我”事件。因此,今天启动该应用3次,明天您将收到3条警报。