Сообщение FCM Data не выполняет переход к желаемому фрагменту, когда приложение находится в фоновом режиме - PullRequest
1 голос
/ 18 июня 2020

У меня есть приложение с довольно сложной структурой. Существует активность запуска (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 без каких-либо проблем, когда приложение находится на переднем плане, проблема возникает, когда приложение находится в фоновом режиме, ему, возможно, придется что-то делать с тем, как я обрабатываю намерение и ожидающее намерение .

Любая помощь приветствуется.

...