安卓:获取所有PendingIntents设置AlarmManagerPendingIntents、AlarmManager

2023-09-12 21:39:47 作者:chillily(冷漠)

我设置的报警是这样的:

I'm setting an alarm like this:

alarmManager.set(AlarmManager.RTC_WAKEUP, alarmTime, pendingEvent);

我感兴趣的是去除所有的地方previously设置报警,清除它们。

I'm interested in removing all the alarms that where previously set, clearing them.

有没有办法为我做到这一点,或获得所有当前设置这样我就可以手动删除该报警?

Is there a way for me to do that or to get all the alarms that are currently set so that I can delete them manually ?

推荐答案

您需要创建挂起的意图,然后取消

You need to create your pending intent and then cancel it

 AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);

    Intent updateServiceIntent = new Intent(context, MyPendingIntentService.class);
    PendingIntent pendingUpdateIntent = PendingIntent.getService(context, 0, updateServiceIntent, 0);

    // Cancel alarms
    try {
        alarmManager.cancel(pendingUpdateIntent);
    } catch (Exception e) {
        Log.e(TAG, "AlarmManager update was not canceled. " + e.toString());
    }