ssummeraw 2013-04-16 06:18 采纳率: 10%
浏览 2327
已采纳

如何在指定的时间取消 PendingIntent?

当我不申明 cancel 时,AlarmManager 能很好的运行。但是当我申明cancel时,也不能取消。

Calendar c= Calendar.getInstance();
                c.set(Calendar.HOUR_OF_DAY, 0); 
                c.set(Calendar.MINUTE, 37);
                c.set(Calendar.SECOND, 0);

            Toast.makeText(this, c.getTime().toString(), Toast.LENGTH_LONG).show();
        intent = new Intent(TestAlarm.this, TestAlarmService.class);
        pi = PendingIntent.getService(TestAlarm.this, 1, intent, 0);
        AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
        am.set(AlarmManager.RTC_WAKEUP, c.getTimeInMillis(), pi);

cancel 代码:

c.add(Calendar.HOUR_OF_DAY, 0);
        c.add(Calendar.MINUTE, 38);
        c.add(Calendar.SECOND, 0);
        PendingIntent pi1=PendingIntent.getService(TestAlarm.this, 1, intent, 0);
        AlarmManager am1 = (AlarmManager) getSystemService(ALARM_SERVICE);
        //stopService(intent);
        am1.cancel(pi);

现在我想开启 AlarmManager,在 12:37 响铃,然后在一两分钟内取消。但是当我使用 Cancel代码,AlarmManager 不能取消。 什么原因啊?

  • 写回答

1条回答 默认 最新

  • Micky米 2013-04-16 13:55
    关注

    只要pengdingIntent一致,就可以通过alarmmanager取消;你可以参考http://bbs.csdn.net/topics/390425777这里的代码;我已经实现了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 汇编语言除法溢出问题
  • ¥65 C++实现删除N个数据列表共有的元素
  • ¥15 Visual Studio问题
  • ¥15 state显示变量是字符串形式,但是仍然红色,无法引用,并显示类型不匹配
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗