Android:当您的应用在后台运行时,在通知上使用自动取消
2022-09-02 09:11:25
我在这里看了所有其他自动取消不起作用的问题,它们似乎都涉及我没有犯的错误。我都试过了
builder.setAutoCancel(true);
和
Notification notif = builder.build();
notif.flags |= Notification.FLAG_AUTO_CANCEL;
两者都不起作用。
我正在使用 NotificationCompat,因为我的最低 API 是 8。这是我的完整代码。在此特定通知中,我不是在调用意图,因为我不需要用户执行任何操作。
NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
builder.setContentTitle(getString(R.string.app_name) + ": my title");
builder.setContentText(message);
builder.setSmallIcon(R.drawable.notification_icon);
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.prog_icon);
builder.setLargeIcon(bitmap);
builder.setAutoCancel(true); // dismiss notification on user click
NotificationManager notiManager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
notiManager.notify(MY_NOTI_MANAGER_ID, builder.build());
通知显示得非常完美。您可以滑动以清除它。但是,仅点击它不会关闭通知。它只是点亮并留在那里。
我的代码与此处发布的其他人之间的一些可能差异:1)我正在使用AdmitIngCompat(这应该不会有什么不同,但我们以前听说过)。2)由于我的通知很简单,因此我不附加意图。
如果您有任何见解,请告诉我。
编辑:我的目的是在不使我的后台应用处于前台的情况下关闭通知。