2013-10-18 48 views
0

我在取消pendingintent時遇到問題。現在我創造我的懸而未決的意圖,像這樣:使用唯一請求代碼取消PendingIntent

Intent intent = new Intent(_self, NotificationService.class); PendingIntent pi = PendingIntent.getService(this, task.getID, intent, 0);

task.getID是這裏唯一的INT。稍後在我的應用程序中,用戶可以編輯「任務」並可以決定取消通知(pendingintent)。我試圖取消的PendingIntent像這樣:

Intent intent = new Intent(_self, NotificationService.class); PendingIntent pIntent = PendingIntent.getBroadcast(_self, task.getID, intent , PendingIntent.FLAG_NO_CREATE);
pIntent.cancel();

但它好好嘗試一下工作!通知仍然顯示。在這種情況下,task.getID引用之前創建的唯一標識。

我試過幾個不同的參數,PendingIntent.FLAG_NO_CREATE返回null,FLAG_UPDATE_CURRENT doens't工作和FLAG_CANCEL_CURRENT都沒有。有人可以幫助我,看看我做錯了什麼?

回答

0

您正在嘗試創建您的PendingIntent服務,並試圖取消廣播。它永遠不會工作。

您需要使用您試圖取消的PendingIntent來獲取服務。

0

您需要重新創建您的待定意圖完全相同的方式您創建第一個想要取消它時。

看看:Cancelling a PendingIntent

+0

我確實以相同的方式重新創建它。沒關係,如果我添加額外的或不,它仍然不工作:( – user2823353