如何在Android

时间:2018-07-25 16:18:31

标签: android alarmmanager

在我的应用中,用户可以为同一部电影设置多个警报,例如“上映日期”,“上映前一周”,“上映前一个月”,现在我只能取消特定的警报,知道如何使用和电影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和警报的类型

1 个答案:

答案 0 :(得分:1)

  

我是否将两者都连接在一起并将其作为id传递给我的待处理对象   意向?

这似乎合乎逻辑。

您还可以使用以下方式来了解您的PendingIntent是否存在。

PendingIntent alarmIntent = PendingIntent.getBroadcast(context, requestCode,
          intent, PendingIntent.FLAG_NO_CREATE);
if (broadcast != null) {
    alarmManager.cancel(alarmIntent );
}