我在取消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引用之前创建的唯一ID。
我尝试了几个不同的参数,PendingIntent.FLAG_NO_CREATE返回null,FLAG_UPDATE_CURRENT不起作用,FLAG_CANCEL_CURRENT也没有。有人可以帮助我,看看我做错了什么?
答案 0 :(得分:0)
您需要重新创建待处理的意图。当您想要取消它时,您需要创建第一个意图。
答案 1 :(得分:0)
您正在尝试使用PendingIntent创建服务,并尝试取消广播。它永远不会奏效。
您需要使用您尝试取消的PendingIntent来获取服务。