0
AlarmManager完美的作品時,我還沒有宣佈cancel
但是當我宣佈cancel
.. 這裏不火是代碼:如何在特定時間取消PendingIntent?
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
在一兩分鐘後關閉...但是每當我使用cancel
代碼AlarmManager
永遠不會開火... 在此先感謝! :)
謝謝@WATTO,但用它調用的服務不會停止!請告訴我如何知道PendingIntent是否被取消? – 2012-04-26 08:55:05
您在取消代碼中使用'c.add()'而不是'c.set()'。這意味着它將當前時間增加38分鐘,而不是將當前時間設置爲「12:38」。看到我編輯的答案。 – wattostudios 2012-04-27 02:14:31
感謝@WATTO糾正我...... :)但現在,如果我使用'setRepeating',它只會在點擊按鈕時被解僱......我的問題解決了。謝謝! – 2012-04-27 16:59:28