在我的应用中,用户可以为同一部电影设置多个警报,例如“上映日期”,“上映前一周”,“上映前一个月”,现在我只能取消特定的警报,知道如何使用和电影ID来取消警报,但是如何使用电影ID和类型来取消警报。我如何将两者连接在一起并将其作为ID传递给我的待处理意图?
代码:
public void cancelAlarm(Context context, _Alarm alarm) {
//Log.d(TAG, "{cancelAlarm}");
AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(context, AlarmReceiver.class);
PendingIntent alarmIntent = PendingIntent.getBroadcast(context, (int) alarm.getGameId(), intent, 0);
alarmManager.cancel(alarmIntent);
}
警报类具有电影的ID和警报的类型
答案 0 :(得分:1)
我是否将两者都连接在一起并将其作为id传递给我的待处理对象 意向?
这似乎合乎逻辑。
您还可以使用以下方式来了解您的PendingIntent是否存在。
PendingIntent alarmIntent = PendingIntent.getBroadcast(context, requestCode,
intent, PendingIntent.FLAG_NO_CREATE);
if (broadcast != null) {
alarmManager.cancel(alarmIntent );
}