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() 就可以了。
在想怎麼取消鬧鐘設定,謝謝你的文章,畫龍點睛呀。
回覆刪除