как использовать уведомление, что при нажатии на него только ясно и больше ничего не делает

1

У меня есть вопрос: я хочу сделать уведомление в строке состояния. Но при нажатии на нее он просто очищает и не запускает никаких намерений. Как я могу это сделать?

Intent intent;
intent= new Intent(myclass.this, myclass.class);
PendingIntent pi = PendingIntent.getActivity(myclass.this, 0, intent, 0);
String body = "This is a test message";
String title = "test msg";
Notification n = new Notification(R.drawable.ic_launcher, body,System.currentTimeMillis());
n.setLatestEventInfo(myclass.this, title, body, pi);
n.defaults = Notification.DEFAULT_ALL;  
nm.notify(uniqueID, n);

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

Теги:
android-intent

2 ответа

1
Лучший ответ

Проходить

PendingIntent.getActivity(context, 0, null, PendingIntent. FLAG_ONE_SHOT) 
n.flags |= Notification.FLAG_AUTO_CANCEL; // just like that teoRetik says
  • 0
    когда я указываю нулевое значение, мое приложение не работает при уведомлении. дать силу закрыть
  • 0
    Извините за это, обновил мой ответ
Показать ещё 3 комментария
1

Из официальной документации:

Чтобы очистить уведомление о состоянии, когда пользователь выбирает его из окна уведомлений, добавьте флаг "FLAG_AUTO_CANCEL" в ваше уведомление. Вы также можете очистить его вручную с помощью cancel (int), передав ему идентификатор уведомления или очистив все ваши уведомления с помощью cancelAll().

  • 0
    Это потому, что вам нужно установить это так: n.flags |= Notification.FLAG_AUTO_CANCEL; , Ред.
  • 0
    Я установил этот флаг с помощью следующего кода, но он все равно не работает, когда я нажимаю на уведомление, оно создает и запускает новое намерение. код: n.defaults = Notification.FLAG_AUTO_CANCEL;

Ещё вопросы

Сообщество Overcoder
Наверх
Меню