0

保留中の意図をキャンセルするのに問題があります。今、保留中のインテントを次のように作成します。

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も機能しません。誰かがこれで私を助けて、私が間違っていることを見てもらえますか?

4

2 に答える 2