Android 如何使用其他活动取消多个报警

Android 如何使用其他活动取消多个报警,android,android-intent,android-alarms,Android,Android Intent,Android Alarms,创建注释活动从哪里触发报警触发!和报警删除其他活动中的代码,它只删除最后一个触发器报警意味着如果创建了3报警,并且我想删除报警1它会删除,但当报警1的时间到达它的触发器时,它已经删除,并且不会触发其他报警2和3,在静态广播id上,它仅触发最后一个报警,例如报警3在其他活动中触发删除代码如果它在其他活动中使用相同的挂起意图进行删除,我如何使用在删除报警活动中使用触发报警的挂起意图 AlarmManager alarmMgr = (AlarmManager)getSystemService(Con

创建注释
活动
从哪里触发
报警
触发!和
报警
删除其他
活动中的代码
,它只删除最后一个触发器
报警
意味着如果创建了3
报警
,并且我想删除
报警
1它会删除,但当
报警
1的时间到达它的触发器时,它已经删除,并且不会触发其他
报警
2和3,在静态广播id上,它仅触发最后一个报警,例如报警3在其他活动中触发删除代码如果它在其他活动中使用相同的挂起意图进行删除,我如何使用在删除报警活动中使用触发报警的挂起意图

 AlarmManager alarmMgr = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
                    Intent intent = new Intent(getApplicationContext(), AlarmReceiver.class);
                    String alertTitle = mTitleText.getText().toString();
                    intent.putExtra(getString(R.string.alert_title), alertTitle);
                   // broadcastCode++;
                    PendingIntent pendingIntent = PendingIntent.getBroadcast(getApplicationContext(), broadcastCode, intent,  PendingIntent.FLAG_UPDATE_CURRENT);
                    alarmMgr.set(AlarmManager.RTC_WAKEUP, calender.getTimeInMillis(), pendingIntent);
                    cv.put(mDbHelper.TIME, timeString);
                    cv.put(mDbHelper.DATE, dateString);
public void delete(int id)
{

    db.delete( DbHelper.TABLE_NAME, DbHelper.C_ID + "="+id, null);
    db.close();

    Intent intent = new Intent(getBaseContext(), AlarmReceiver.class);
    PendingIntent pendingIntent = PendingIntent.getBroadcast(getBaseContext(), CreateNote.broadcastCode, intent, 0);
    AlarmManager alarmManager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
    alarmManager.cancel(pendingIntent);

}  

需要完全按照启动AlarmManager时的方式创建PendingEvent

创建PendingEvent时,使用
PendingEvent.FLAG_UPDATE_CURRENT
而不是
0
来取消报警。标志更新电流等于常数
134217728
,而不是
0

使用此代码:

PendingIntent pendingIntent = PendingIntent.getBroadcast(this, _id, intent, 0);
        AlarmManager alarmManager = (AlarmManager) this.getSystemService(Context.ALARM_SERVICE);
        alarmManager.cancel(pendingIntent);

希望这有帮助。

它可以工作,但对于列表中创建的单个报警,如果在示例列表中创建了多个报警,则会创建总共5个报警,并且要删除最初创建的报警1,它会从列表中删除,但在时间到达时会及时触发,并且不会触发报警2、3、4、5,单个报警通过其
请求\u代码
和原始
意图
进行识别,原始
意图被包装在
未决内容中
。您必须确保
请求\u code
(您似乎正在将其保存到数据库中)而
Intent
与设置报警时提供的值相匹配。您的意思是请求代码和意图必须保存在数据库中您是否为每个报警设置id?@SimranjeetSingh我正在使用广播代码增量赋予它新的id我在那里替换哪种类型的id siri在那里使用我用于创建报警的同一id,它适用于单个报警,适用于多个报警,但不适用于Sir Simrantjeet Sing请帮助我解决以前遇到的问题