【问题标题】:How to cancel specific Alarm in android如何在android中取消特定警报
【发布时间】:2018-07-26 00:37:30
【问题描述】:

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

【问题讨论】:

标签: android alarmmanager


【解决方案1】:

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

这似乎合乎逻辑。

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

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

【讨论】:

    猜你喜欢
    • 2014-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多