Android:无法使用 AlarmManager 取消警报

Android : Unable to cancel alarm using AlarmManager

这是我用来设置闹钟的东西,当我获取设备中设置的所有闹钟时它是可见的。

    /**
     * Set alarm
     **/


    Intent alarmIntent = new Intent(context, LocalReminderReceiver.class);
    AlarmManager manager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
    long time = Long.valueOf("1526112720000");
    PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 1, alarmIntent, FLAG_UPDATE_CURRENT);
    manager.set(AlarmManager.RTC_WAKEUP, time, pendingIntent);

    /**
     * Cancel alarm
     */
    PendingIntent sender = PendingIntent.getBroadcast(context, 1, alarmIntent, PendingIntent.FLAG_CANCEL_CURRENT);
    AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
    alarmManager.cancel(sender);
    sender.cancel();

我是不是漏掉了什么?

设置闹钟使用下面的行

 Intent intent = new Intent(context, AlarmReceiverActivity.class);

 PendingIntent pendingIntent = PendingIntent.getActivity(context, requestID, intent, 0);

 AlarmManager am = (AlarmManager)context.getSystemService(Activity.ALARM_SERVICE);
 am.set(AlarmManager.RTC_WAKEUP, timeInMillis, pendingIntent);

要取消警报使用下面的行

 AlarmManager am = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
 Intent intent = new Intent(context, AlarmReceiverActivity.class);
 PendingIntent pendingIntent = PendingIntent.getActivity(context,requestID, intent, 0);
 am.cancel(pendingIntent);

以上设置和取消报警的代码对我有用。 您只需传递相同的 请求 ID 即可设置和取消特定警报