Удаление намерения после использования

Я создал пример проекта здесь:

https://github.com/amitishai/Android-notifications

Вот сценарий:

  1. Открыть приложение
  2. нажмите кнопку
  3. Выйти из приложения
  4. Нажмите на уведомление, которое было создано. Когда приложение откроется, вы окажетесь в разделе «Бла».
  5. Нажмите кнопку НАЗАД ОС.
  6. Нажмите и удерживайте кнопку «Домой» ОС, чтобы увидеть открытые приложения.
  7. Нажмите на приложение.

Вы увидите, что снова ввели Activity «Bla», и текст тот же.

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


comment
вы уверены, что OnDestroy() называется, а не onPause()? Я думаю, что при нажатии кнопки Back приложение находится в onPause.   -  person g00dy    schedule 26.06.2013
comment
вызывается onDestroy(). Я проверил.   -  person Amit Ishai    schedule 26.06.2013
comment
Хорошо, тогда я бы предположил, что это исходит от getStringExtra, как объяснено: «Возвращает значение элемента, которое ранее было добавлено с помощью putExtra() или null, если значение String не было найдено». Итак, если действие Bla было запущено с MyActivity.java-, у вас есть Intent cit = new Intent(context, Bla.class);, а затем cit.putExtra("string", "please disappear");. Разве это не то, что вы ищете?   -  person g00dy    schedule 26.06.2013
comment
Нет. При возобновлении работы приложения MyActivity вообще не запускается. Первое открытое действие — Bla.   -  person Amit Ishai    schedule 26.06.2013
comment
В основном возникает вопрос: если оба действия уничтожены, как у действия Bla есть намерение != null при запуске?   -  person Amit Ishai    schedule 26.06.2013
comment
Кроме того, почему в этом сценарии запускается действие Bla, а не MyActivity?   -  person Amit Ishai    schedule 26.06.2013
comment
Пожалуйста, опубликуйте код, который вы используете для создания уведомления. Кроме того, когда вы говорите выйти из приложения, что вы имеете в виду? Все мероприятия завершены?   -  person David Wasser    schedule 26.06.2013


Ответы (1)


Решение заключалось в использовании Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY Пример здесь: Android: запуск приложения из "последних приложений" запускает его с последним набором дополнений, использованных в намерении

person Amit Ishai    schedule 02.07.2013