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

0

当您想取消它时,您需要以与创建第一个意图完全相同的方式重新创建待处理的意图。

看一看:取消 PendingIntent

于 2013-10-18T23:11:55.333 回答
0

您正在尝试使用 PendingIntent 创建服务并尝试取消广播。它永远不会起作用。

您需要使用您尝试取消的 PendingIntent 来获取服务。

于 2013-12-04T11:06:20.667 回答