Как реализовать детальное уведомление Android?

1

Это, вероятно, было задано раньше, но я не могу найти хороший способ его реализации. Я пытаюсь написать программу, которая управляет формой сообщений, и эти сообщения принимаются из внешнего источника данных. Все это работает. Однако проблема возникает, когда я пытаюсь уведомить пользователя: я хотел бы, чтобы уведомление сразу включалось в сообщение, когда оно касалось, но это, похоже, испортило задний стек. Это, вероятно, лучше всего объясняется примером:

  • Я открываю список сообщений, основное действие и просматриваю какое-то время.
  • Я попал домой и перешел в другое приложение (скажем, музыка).
  • Получено новое сообщение. Появляется уведомление, которое я касаюсь. Отобразится подробное представление сообщения.
  • Теперь я ударил Назад. Я хочу, чтобы я вернулся в Music, но, к сожалению, Back отправляет меня в список сообщений, а затем нажатие Back вернет меня к музыке.

Оба списка и действия с деталями помечены как "singleTop", а точные флаги, которые я использую для намерения уведомления:

  • FLAG_ACTIVITY_NEW_TASK
  • FLAG_ACTIVITY_CLEAR_TOP
  • FLAG_ACTIVITY_SINGLE_TOP

Я полагаю, что приложение Messaging может это сделать, почему я не могу?

Теги:
android-activity
android-manifest

1 ответ

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

Я нашел один способ сделать это, но он все еще не идеален:

  • Измените активность детали, чтобы иметь другую близость задачи от всего остального.
  • Добавить android:launchMode="singleTop" и android:excludeFromRecents="true" в запись манифестной активности.
  • (Необязательно) Измените активность списка, чтобы открыть активность детали с помощью FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET. (Это делает задачу более похожей на встроенное приложение для обмена сообщениями.)

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

Ещё вопросы

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