2011-07-18

在 Android 裡取消鬧鐘設定(AlarmManager)

取消鬧鐘:
Intent intent = new Intent(this.ctx, TestReceiver.class);

PendingIntent pi = PendingIntent.getBroadcast(this.ctx, 1, intent, 0);

AlarmManager am = (AlarmManager) this.ctx.getSystemService(Context.ALARM_SERVICE);
am.cancel(pi);
關鍵在於 PendingIntent 物件,可以用原來的 PendingIntent 物件,如果有的話。

如果沒有,那就要「另外」建一個 PendingIntent 物件,兩個必須一樣的地方:傳給 Intent 的 receiver class 與傳給 PendingIntent 的 request code,也就是上面程式裡的 TestReceiver.class 與 1。

最後將 PendingIntent 傳給 am.cancel()  就可以了。

1 則留言:

  1. 在想怎麼取消鬧鐘設定,謝謝你的文章,畫龍點睛呀。

    回覆刪除