Код: Выделить всё
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
MyApplicationTheme {
val navController = rememberNavController()
NavHost(
navController = navController,
startDestination = "screen-1"
) {
composable(
"screen-1",
deepLinks = listOf(
navDeepLink {
uriPattern = "/screen-1"
action = Intent.ACTION_VIEW
}
)
) {
Column {
Text("Screen 1")
Button(
onClick = { navController.navigate("screen-3/hello") }
) {
Text("Navigate to Screen 3!!!")
}
}
}
composable(
"screen-2",
deepLinks = listOf(
navDeepLink {
uriPattern = "/screen-2"
action = Intent.ACTION_VIEW
}
)
) {
Text("Screen 2")
}
composable(
"screen-3/{title}",
arguments = listOf(
navArgument("title") {
type = NavType.StringType
}
),
deepLinks = listOf(
navDeepLink {
uriPattern = "/screen-3/{title}"
action = Intent.ACTION_VIEW
}
)
) { backStackEntry ->
val title = backStackEntry.arguments?.getString("title")
Text("Screen 3 - $title")
}
}
}
}
}
Код: Выделить всё
deepLinks = listOf(
navDeepLink {
uriPattern = "myscheme://app/screen-3/{title}"
action = Intent.ACTION_VIEW
}
)
Код: Выделить всё
uriPattern = "*/screen-3/{title}"
Спасибо!
Подробнее здесь: https://stackoverflow.com/questions/790 ... ative-urls
Мобильная версия