Android: Глубокая связь с нижней панелью навигации - PullRequest
1 голос
/ 01 апреля 2020

Я пытаюсь интегрировать URL-адрес с глубокими веб-ссылками в свое приложение, используя навигационный компонент android, для этого я делаю следующее:

Предполагаемый фрагмент XML, который должен быть открыт URL.

<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/apk/res-auto"
    android:id="@+id/sample_navigation_graph"
    app:startDestination="@id/sampleFragment">

    <fragment
        android:id="@+id/sampleFragment"
        android:name=".ui.tab.sampleFragment"
        android:label="SampleFragment"
        tools:layout="@layout/fragment_new">
        <deepLink app:uri="https://example.com/sutirth" />
    </fragment>
</navigation>

Объявление файла моего android манифеста

<activity android:name=".MainActivity"
            android:windowSoftInputMode="stateHidden|adjustResize">
<intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data
                    android:scheme="https"
                    android:host="example.com"/>
            </intent-filter>
            <nav-graph android:value="@navigation/app"/>
        </activity>

Мой основной график навигации

<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/app"
    app:startDestination="@id/sample_navigation_graph"
    tools:ignore="InvalidNavigation">


    <include app:graph="@navigation/sample_navigation_graph"/>


</navigation>

Используя вышеуказанные настройки, я могу перейти к пункту назначения прекрасно. Тем не менее, когда его навигация осуществляется по ссылке, я не вижу нижней панели навигации и панели инструментов. Это должно быть так?

Исходный код: Android примеры кода для навигации внизу

1 Ответ

0 голосов
/ 10 апреля 2020

Если вы используете многомодульный график навигации. Обязательно добавьте конкретный график навигации в манифест. Ваша глубокая ссылка будет работать правильно

Например, android манифест

<activity android:name=".MainActivity"
            android:windowSoftInputMode="stateHidden|adjustResize">
<intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data
                    android:scheme="https"
                    android:host="example.com"/>
            </intent-filter>
            <nav-graph android:value="@navigation/app"/>
 <include app:graph="@navigation/sample_navigation_graph"/>
        </activity>
...