Android 一段时间后如何取消闹钟安卓

Android 一段时间后如何取消闹钟安卓,android,alarmmanager,android-alarms,Android,Alarmmanager,Android Alarms,嗨,我这里有一个闹钟,我想要一种方法在一段时间后取消它,比如一天或一周,,,提前感谢 am = (AlarmManager)parent.getContext().getSystemService(Context.ALARM_SERVICE); //the title and the description of the notification Intent alarmintent = new Intent(parent.getContext(), Alarm

嗨,我这里有一个闹钟,我想要一种方法在一段时间后取消它,比如一天或一周,,,提前感谢

    am = (AlarmManager)parent.getContext().getSystemService(Context.ALARM_SERVICE);

     //the title and the description of the notification



    Intent alarmintent = new Intent(parent.getContext(), Alarm_Receiver.class);
     alarmintent.putExtra("title",titlePills + dea22);
      alarmintent.putExtra("note",dea22);
     alarmintent.putExtra("NOTIFICATION_ID",String.valueOf(CountMultipleAlarm));
     //HELLO_ID is a static variable that must be initialized at the BEGINNING OF CLASS with 1;

      //example:protected static int HELLO_ID =1;
      PendingIntent sender = PendingIntent.getBroadcast(parent.getContext(), CountMultipleAlarm,
                                     alarmintent,0);

      //VERY IMPORTANT TO SET FLAG_UPDATE_CURRENT... this will send correct extra's informations to 
       //AlarmReceiver Class
         // Get the AlarmManager service
        am.setRepeating(AlarmManager.RTC_WAKEUP,cal.getTimeInMillis(), 11000, sender);
                                     intentArray.add(sender);

设置第二个警报以取消第一个警报。

尝试

final PendingIntent sender = PendingIntent.getBroadcast(parent.getContext(), CountMultipleAlarm,
                                     alarmintent,0);
int someTime=1000;

new Handler().postDelayed(new Runnable()
{
    public void run()
    {
     am.cancel(sender);
    }
}, someTime);

你已经设置了一次警报,所以你知道怎么做。关键是设置第二个报警,其目的是结束原始报警。困难的部分是找到要取消的原始报警,但是,您可以在第二个报警时使用执行此代码来取消第一个报警。正如Android文档所指定的,此代码将取消同一类的所有报警。因此,您只需创建意图,将其传递给AlarmManager,就可以取消报警

Intent alarmintent = new Intent(parent.getContext(), Alarm_Receiver.class);
PendingIntent sender = PendingIntent.getBroadcast(parent.getContext(), CountMultipleAlarm,
                                 alarmintent,0);
am.cancel(sender);

设置另一个用于取消原始报警的报警?请问您有代码吗?我不知道如何在一段时间内执行取消功能。我的答案显示了您需要在取消警报接收器中输入的代码。您已经设置了一个警报,我假设您可以设置第二个警报,只需绘制其中包含的代码(可能需要一些额外的位,您已经有了),你应该很乐意去做。我的意思是取消函数只需要一个参数,我应该如何放入我想要取消的报警对象。使用你的解决方案,应用程序必须一直运行。最好启动第二个警报。你有密码吗?我不知道如何使用与“CurrentActivity.this”相同的句点timeIs“parent.getContext()”来执行cancel函数,如果在与CurrentActivity不同的活动中使用原始意图、PendingEvent和AlarmManager来创建报警,我该怎么办?如何从CurrentActivity中的另一个活动取消原始报警?