Код: Выделить всё
@Composable
fun MainContent(navController: NavController) {
NavHost(
navController = navController,
startDestination = "home"
) {
// Home Screen
composable("home") { HomeScreen(navController) }
// Example: Profile Screen with deep link
composable(
route = "profile/{userId}",
deepLinks = listOf(navDeepLink {
uriPattern = "https://www.example.com/profile/{userId}"
})
) { backStackEntry ->
val userId = backStackEntry.arguments?.getString("userId")
ProfileScreen(userId)
}
}
}
Когда я не устанавливаю какой-либо режим запуска, глубокая ссылка работает нормально в обоих случаях: приложение открыто или закрыто, но в этом случае создается новый экземпляр приложения.
Когда я не устанавливаю какой-либо режим запуска, глубокая ссылка работает нормально в обоих случаях: приложение открыто или закрыто, но в этом случае создается новый экземпляр приложения.
Когда я не устанавливаю какой-либо режим запуска, глубокая ссылка работает нормально в обоих случаях: приложение открыто или закрыто, но в этом случае создается новый экземпляр приложения.
p>
Если я указал режим запуска как android:launchMode="singleInstance", это предотвратит создание нового экземпляра приложения, но изменит поведение глубокой ссылки, как если бы приложение было активным. /open и я нажимаю на глубокую ссылку, он просто открывает приложение в его текущем состоянии, и если приложение закрыто, оно работает нормально.
Я что-то упускаю или делаю что-то не так?
Я что-то упускаю или делаю что-то не так? p>
Пожалуйста, помогите мне правильно реализовать глубокую ссылку с помощью архитектуры Jetpack Compose.
Отредактированный блок для отображения источника LaunchedEffect< /p>
Код: Выделить всё
LaunchedEffect(deepLinkIntent.value) {
Log.e("DeepLinkNavigation", "Deep Link Data Received: ${deepLinkUri.value}")
deepLinkIntent.value?.let { intent ->
navController.handleDeepLink(intent)
/*val deepLinkRequest = NavDeepLinkRequest.Builder
.fromUri(uri)
.build()
// Attempt to navigate using the deep link request
if (navController.graph.hasDeepLink(deepLinkRequest)) {
navController.handleDeepLink(deepLinkRequest)
}*/
}
/*deepLinkUri.value?.let {
navController.navigate(it.toString())
}*/
}
Значение журнала распечатано, но навигация не работает.
Спасибо!
Подробнее здесь: https://stackoverflow.com/questions/791 ... -is-active
Мобильная версия