Я рассмотрел все остальные AUTO-CANCEL-нерабочие вопросы здесь, и все они, кажется, включают ошибки, которые я не делаю. Я пробовал оба
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) Я использую NotificationCompat (это не должно меняться, но мы это слышали раньше). 2) Поскольку мое уведомление прост, я не прикладываю никакого намерения.
Пожалуйста, дайте мне знать, если у вас есть идеи.
Изменить: моя цель - отклонить уведомление, не обращая внимания на мое фоновое приложение.