В соответствии с документацией вложенного графа :
[вложенные графики] также обеспечивают уровень инкапсуляции - места назначения вне вложенного графа не имеют прямого доступа ни к одному из пункты назначения во вложенном графе.
Существует одно исключение из этого, когда вы перемещаетесь с использованием URI , эффективно глубоко связываясь с любым пунктом назначения:
В отличие от навигации с использованием идентификаторов действий или назначения, вы можете перейти к любому URI на графике, независимо от того, является ли назначение видимым. Вы можете перейти к пункту назначения на текущем графике или к пункту назначения на совершенно другом графике.
Поэтому вы можете добавить неявную глубокую ссылку на ваш график :
<fragment
android:id="@+id/detailsFragment"
android:name="com.example.DetailsFragment">
<deepLink app:uri="android-app://your.package.name/details" />
</fragment>
Затем перейдите к этому месту назначения через URI:
val uri = Uri.parse("android-app://your.package.name/details")
navController.navigate(uri)
Не имеет значения, какой у вас URI, если совпадают <deepLink>
и то, что вы передаете navigate
. Любые ваши аргументы должны быть закодированы в URL.