Очистка уведомления через несколько секунд

Когда у вас открыта активность сообщений и телефон получает новое сообщение, в строке состояния отображается уведомление. Через некоторое время уведомление удаляется.

Можно ли сделать то же самое для моей деятельности, не используя таймер для очистки уведомления через несколько секунд?

1 ответ

Решение

Я не верю, что есть способ использовать NotificationManager только для отмены уведомления, но вы можете сделать это с помощью более простого обработчика. Добавьте такой код сразу после того, как вы отправите уведомление.

Handler h = new Handler();
long delayInMilliseconds = 5000;
h.postDelayed(new Runnable() {
    public void run() {
        mNotificationManager.cancel(YourNotificationId);
    }
}, delayInMilliseconds);

Ну нет необходимости в обработчике / обслуживании, пока Notification.Builder имеет метод .setTimeoutAfter(long milliseconds):

Следовательно, просто позвоните:

builder.setTimeoutAfter(time_in_milliseconds);

Для получения дополнительной информации см. SetTimeoutAfter(long).

Другие вопросы по тегам