У меня есть приложение Android, которое содержит два Activities
.
Activity A
, имеет кнопку, которая запускает Activity B
с использованием Context.startActivity(Intent intent)
.
. Также имеется Notification
который открывает Activity таким же образом.
Если я запускаю B
из этого уведомления и нажимаю кнопку возврата - он просто закрывает B
и не показывает A
, как я иду туда с обычным регистром.
Можно ли заставить B
возвратиться к A
, если он запущен из уведомления без стека истории?
Решение
Как stefan и Пол Ламмерцма упомянул, что лучший способ - начать A
с уведомления и в A
создать новое намерение с B
- но не в onCreate()
!
Я немного покопался в этом и обнаружил, что если я установлю в AndroidManifest
новое свойство для A
активности:
android:launchMode="singleTask"
будет A
действие, называемое
onNewIntent(Intent intent)
И там мы должны проверить, если Intent
содержит дополнительное значение, переданное из уведомления - и если это так, то мы вызываем new B
намерение.
Спасибо вам обоим и удачи вам в следующих разработках; -)