如何停止在Android中多次出现的通知

时间:2018-08-29 10:24:26

标签: android

我想为实施代码的每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);

1 个答案:

答案 0 :(得分:1)

每次重新启动应用程序时,都会向Alarmmanager添加新的“ 24小时内通知我”事件。因此,今天启动该应用3次,明天您将收到3条警报。

  • 您是否有代码来询问警报管理员,是否已经有“ 24小时内通知我”的信息?
  • 您是否有代码删除现有的“ 24小时内通知我”?