Я хочу удалить уведомление из ящика после его отображения в виде тикера и после воспроизведения звука (и вибрации тоже).Извлечение уведомлений из ящика после воспроизведения звука и отображение тикера
У меня есть следующий код в моем приложении
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(context)
.setSmallIcon(R.drawable.ic_action_calendar_themedark)
.setLights(0xffffffff, 500, 1000)
.setAutoCancel(true)
.setTicker(context.getString(R.string.tewstgfd));
if (vibratePattern != null) {
mBuilder.setVibrate(vibratePattern);
}
if (soundUri != null) {
mBuilder.setSound(soundUri, AudioManager.STREAM_NOTIFICATION);
}
addPriorityHigh(mBuilder);
NotificationManager mNotificationManager =
(NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.notify(R.string.e_notif_rest_id, mBuilder.build());
mNotificationManager.cancel(R.string.e_notif_rest_id);
Обратите внимание на последние 2 строки: создать уведомление и немедленно удалить его. Однако это также останавливает звук уведомления и останавливает вибрацию. Поэтому отображается только тикер, но это совсем не то, чего я хочу. Если удалить последнюю строку (mNotificationManager.cancel (R.string.e_notif_rest_id), то уведомление остается в ящике, но это то, что я хочу, чтобы избежать.
Что я упускаю?
Просто жду, прежде чем отменить уведомление, как предполагает forgivegod, будет работать, конечно. Но я думаю, что это создает очень плохой опыт пользователя и не должно быть сделано. Используйте уведомление тостов, если вы этого не сделаете имеют основания для создания (и сохранения) полного уведомления. –
Даршан, да, это именно то, что у меня есть сейчас. просто хотел заменить 1) замок блокировки (для мигания экрана), 2) музыкальный проигрыватель (для звука) и 3) услуга вибрации (для вибрации) с одним простым уведомлением, которое в основном может сделать все это. BUt кажется, что я не могу. –