程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> service-如何在指定的時間取消 PendingIntent?

service-如何在指定的時間取消 PendingIntent?

編輯:編程綜合問答
如何在指定的時間取消 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 不能取消。 什麼原因啊?

最佳回答:


只要pengdingIntent一致,就可以通過alarmmanager取消;你可以參考http://bbs.csdn.net/topics/390425777這裡的代碼;我已經實現了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved