保留中の意図をキャンセルするのに問題があります。今、保留中のインテントを次のように作成します。
Intent intent = new Intent(_self, NotificationService.class);
PendingIntent pi = PendingIntent.getService(this, task.getID, intent, 0);
ここで task.getID は一意の int です。後で私のアプリで、ユーザーは「タスク」を編集し、通知をキャンセルすることを決定できます (pendingintent)。次のように保留中の意図をキャンセルしようとします。
Intent intent = new Intent(_self, NotificationService.class); PendingIntent pIntent = PendingIntent.getBroadcast(_self, task.getID, intent , PendingIntent.FLAG_NO_CREATE);
pIntent.cancel();
しかし、それはうまくいきません!通知は引き続き表示されます。この場合、 task.getID は以前に作成された一意の ID を参照します。
いくつかの異なるパラメーターを試しました.PendingIntent.FLAG_NO_CREATEはnullを返し、FLAG_UPDATE_CURRENTは機能せず、FLAG_CANCEL_CURRENTも機能しません。誰かがこれで私を助けて、私が間違っていることを見てもらえますか?