Предположим, я нахожусь в фрагменте_c, который является частью навигационного графа nav_home. У меня есть push-уведомление, при нажатии которого открывается фрагмент_e, который находится в отдельном навигационном графе под названием nav_e. nav_e включен в nav_home и содержит только фрагмент_e.
Мой nav_home выглядит следующим образом:
выглядит следующим образом:
Когда я нажимаю push-уведомление, фрагмент_e открывается, как и ожидалось, но когда я нажимаю кнопку «Назад», я возвращаюсь к фрагменту_a, домашнему пункту назначения nav_home< /code>, тогда как я ожидаю возврата к фрагменту_c, последний фрагмент/экран открылся перед нажатием push-уведомления.
В моем классе, расширяющем FirebaseMessagingService Я создаю PendingIntent вот так в onMessageReceived:
Код: Выделить всё
val pendingIntent = NavDeepLinkBuilder(context)
.setComponentName(HomeActivity::class.java)
.setGraph(R.navigation.nav_home)
.setDestination(R.id.fragment_e)
.createPendingIntent()
Затем я установил для PendingIntent значение NotificationBuilder. Я отладил, и кажется, что я открываю новый экземпляр HomeActivity, а предыдущий экземпляр перезаписывается, но как избежать этого и сохранить последний открытый фрагмент? Как правильно добиться того, чего я хочу?
Подробнее здесь:
https://stackoverflow.com/questions/781 ... tification