У меня есть приложение с довольно сложной структурой. Существует активность запуска (SplashActivity), затем MainActivity, которая имеет пять фрагментов, затем в пятом фрагменте есть DesiredActivity, которая имеет три фрагмента, один из которых является DesiredFragment. Когда приложение находится на переднем плане и мы щелкаем уведомление pu sh (тип сообщения с данными), открывается DesiredFragment, проблем нет, , но когда приложение находится в фоновом режиме, открывается MainActivity вместо DesiredFragment, по щелчку уведомления pu sh.
Кроме того, в режиме отладки DesiredFragment открывается без каких-либо проблем, когда приложение находится в фоновом режиме. Проблема возникает при нормальном запуске, а не в режиме отладки (Согласно моим исследованиям, это обычно происходит в случае состояния гонки, но нет потоков, асинхронных c задач и т.д. c участвующих в мой код.
Может ли кто-нибудь помочь мне с тем, что я делаю неправильно?
Это запись файла манифеста для DesiredActivity:
<activity
android:name=".activities.DesiredActivity"
android:parentActivityName=".activities.MainActivity"
android:exported="true">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".activities.MainActivity" />
</activity>
Это код для onMessageRecced в FirebaseMessagingServices. (Нет проблем с NotificationBuilder и NotificationManager) Опять же, уведомление pu sh переходит к DesiredFragment без каких-либо проблем, когда приложение находится на переднем плане, проблема возникает, когда приложение находится в фоновом режиме, ему, возможно, придется что-то делать с тем, как я обрабатываю намерение и ожидающее намерение .
Любая помощь приветствуется.