通知setAutoCancel(真)不工作(Notification setAutoCancel(t

2019-08-17 03:03发布

我想表明,当用户点击它被删除的通知。 我使用NotificationCompat类来建立我的通知,我叫setAutoCancel(true)在我的建设者。 这是一段代码:

NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this)
        .setSmallIcon(R.drawable.ic_launcher)
        .setContentTitle("title")
        .setAutoCancel(true)
        .setContentText("content");
NotificationManager notificationManager = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(0, mBuilder.build());

通知正确添加,但是当我在敲打什么也没有发生! 我究竟做错了什么?

Answer 1:

使用setContentIntent应该解决您的问题:

.setContentIntent(PendingIntent.getActivity(this, 0, new Intent(), 0));

在您的例子:

NotificationCompat.Builder mBuilder= new NotificationCompat.Builder(this)
        .setSmallIcon(R.drawable.notification_icon)
        .setContentTitle("title")
        .setAutoCancel(true)
        .setContentText("content")
        .setContentIntent(PendingIntent.getActivity(this, 0, new Intent(), 0));
NotificationManager notificationManager= (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(0, mBuilder.build());

通常,您可能希望将用户引导到相关的内容,因此可能会取代“新意图()”别的东西。

我上传了演示给github上。



Answer 2:

我知道一个答案已被接受,但我有不同的解决方案相同的问题,所以我会在这里分享。

对于我来说,我用同样的NotificationCompat.Builder对象创建一个通知,要求setOngoing(true) 。 这对于工作时不应该被删除的上传进度通知。

不管怎么说,任务完成后,我叫setAutoCancel(true) ,但该通知仍不能刷卡了。 我还曾要做的就是调用setOngoing(false)

现在看来很明显,但它可能挽救别人一些时间在未来。



文章来源: Notification setAutoCancel(true) doesn't work