Глубокая связь с заставкой и состоянием входа - PullRequest
0 голосов
/ 24 апреля 2019

Я использую компонент навигации.У меня есть приложение с 2 основными частями: 1 всплеск активности с его nav_graph 2 основное действие с нижней навигации, где каждый пункт меню имеет свой собственный nav_graph.Проблема в том, что я не могу понять, как выполнять навигацию при появлении уведомления.

Поэтому, когда уведомление пришло и пользователь щелкнул по нему, мне нужно: - проверить, открыто ли приложение и какой экран открыт сейчас - еслиприложение закрыто или находится в фоновом режиме, через глубокую ссылку, проверьте активность всплеска: если пользователь вошел в систему - перейти к основному действию (если не предоставлен экран аутентификации), сохранить навигацию по глубокой ссылке на нужный мне фрагмент.

Splashграфик и один из трех пунктов пунктов памяти

            xmlns:app="http://schemas.android.com/apk/res-auto"
            android:id="@+id/splash_graph"
            app:startDestination="@id/splashFragment">

    <fragment android:id="@+id/splashFragment"
              android:name="com.app.app.ui.navigation.fragment.SplashFragment"
              android:label="SplashFragment">

        <action android:id="@+id/action_splashFragment_to_authFragment"
                app:popUpTo="@+id/authFragment"
                app:popUpToInclusive="true"
                app:destination="@id/authFragment"/>

        <action android:id="@+id/action_splashFragment_to_mainActivity"
                app:popUpTo="@+id/mainActivity"
                app:popUpToInclusive="true"
                app:destination="@id/mainActivity" app:launchSingleTop="true"/>
    </fragment>

    <fragment android:id="@+id/authFragment"
              android:name="com.app.app.ui.navigation.fragment.AuthFragment"
              android:label="AuthFragment">

        <action android:id="@+id/action_authFragment_to_mainActivity"
                app:popUpTo="@+id/mainActivity"
                app:popUpToInclusive="true"
                app:destination="@id/mainActivity" app:launchSingleTop="true"/>
    </fragment>

    <activity android:id="@+id/mainActivity"
              android:name="com.app.app.ui.navigation.activity.MainActivity"
              android:label="MainActivity">
        <deepLink android:id="@+id/deepLinkMain" app:uri="com.app.app/"/>
    </activity>


</navigation>```



``` <navigation xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools"
            android:id="@+id/nextFragment"
            app:startDestination="@id/nxtFragment">

    <fragment android:id="@+id/nxtFragment"
              android:name="com.app.app.ui.navigation.fragment.NextFragment"
              android:label="Next">
        <deepLink
                android:id="@+id/deepLink"
                app:uri="com.app.app/nextFragment{id}"
                android:autoVerify="true"/>
        <argument
                android:name="id"
                app:argType="string"/>
    </fragment>
</navigation>```
...