Это, вероятно, было задано раньше, но я не могу найти хороший способ его реализации. Я пытаюсь написать программу, которая управляет формой сообщений, и эти сообщения принимаются из внешнего источника данных. Все это работает. Однако проблема возникает, когда я пытаюсь уведомить пользователя: я хотел бы, чтобы уведомление сразу включалось в сообщение, когда оно касалось, но это, похоже, испортило задний стек. Это, вероятно, лучше всего объясняется примером:
Оба списка и действия с деталями помечены как "singleTop", а точные флаги, которые я использую для намерения уведомления:
FLAG_ACTIVITY_NEW_TASK
FLAG_ACTIVITY_CLEAR_TOP
FLAG_ACTIVITY_SINGLE_TOP
Я полагаю, что приложение Messaging может это сделать, почему я не могу?
Я нашел один способ сделать это, но он все еще не идеален:
android:launchMode="singleTop"
и android:excludeFromRecents="true"
в запись манифестной активности.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET
. (Это делает задачу более похожей на встроенное приложение для обмена сообщениями.)Единственная ошибка этой схемы заключается в том, что переход обратно в приложение всегда будет возвращаться к активности списка, но по крайней мере он согласован. Если у кого-то есть лучший способ сделать это, я бы хотел его услышать.