我想制作一个可以添加、查看和取消警报的应用程序。我为此设计了一个数据库。查看和创建新警报完美无缺。
但问题是取消警报。所有警报均由相同设置pendingIntent
不同request_code
。request_code
取自数据库条目(即 ID 字段)。如果我使用该cancel(pendingIntent)
方法,它将取消所有警报。但我只想用特定的request_code
. 这是我创建警报代码:
Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, hour);
cal.set(Calendar.MINUTE, minute);
cal.set(Calendar.SECOND, 0);
Intent intent = new Intent(this, d1_on.class);
PendingIntent pendingIntent = PendingIntent.getActivity(this, user_id, intent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager am = (AlarmManager)getSystemService(Activity.ALARM_SERVICE);
am.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pendingIntent);
现在,当我单击 CANCEL 按钮时,它会要求user_id
. 然后它将从数据库中删除该行。没关系...但现在我想通过request_code
设置为 user_id 来停止该特定警报。
或者请向我解释如何通过课堂取消pendingIntent
在课堂上创建的。alarmActivity
alarmReceiver