Android — уведомление о нажатии из приложения создателя

#android #android-manifest

#Android #android-манифест

Вопрос:

У меня возникают проблемы с потоком работы моего приложения при нажатии на уведомление, которое я создаю из своего сервиса.

Поток без нажатия на уведомление выглядит примерно так A -> B -> C -> B -> C ….

Действия B и C чередуются, но только в одном экземпляре каждого используется флаг намерения FLAG_ACTIVITY_REORDER_TO_FRONT. Это удерживает активность не более чем на два нажатия назад. Это здорово.

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

К сожалению, при нажатии на уведомление для намерения создается новая задача с использованием флага FLAG_ACTIVITY_NEW_TASK (http://developer.android.com/guide/practices/ui_guidelines/activity_task_design.html ). Это означает, что FLAG_ACTIVITY_REORDER_TO_FRONT не будет работать, поскольку он не может видеть действие в исходной задаче.

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