You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jetpack Compose中如何通过Deep Link实现应用内页面跳转?

Jetpack Compose内通过Deep Link实现页面跳转问题

我想在Jetpack Compose应用内用Deep Link实现页面跳转,但对Deep Link的结构理解不透彻,相关详细说明也少。Deep Link一般用于跨应用或网页URL跳转,但没见过它在应用内页面跳转的用法。我的需求是:点击HomeScreen里的条目(比如pasta内容)时,通过该内容的Deep Link跳转到DetailScreen;同时DetailScreen可以从多个页面进入,部分页面会传入objectId而非Deep Link。我写了代码但没解决问题,求有经验的开发者帮忙。


底部导航图代码

fun NavGraphBuilder.bottomBarNavGraph(
    navHostController: NavHostController
) {
    navigation(
        startDestination = BottomBarScreen.HomeScreen.route,
        route = BOTTOM_BAR_ROUTE
    ){

        composable(route = BottomBarScreen.HomeScreen.route){
            HomeRoute(navHostController)
        }

健康模块导航图代码

fun NavGraphBuilder.healthNavGraph(
    navHostController: NavHostController
) {

    navigation(
        startDestination = BottomBarScreen.HealthScreen.route,
        route = BOTTOM_BAR_HEALTH_ROUTE
    ) {
        composable(
            route = "${HealthScreen.HealthFoodDetailScreen.route}?$OBJECT_ID={$OBJECT_ID}?$DEEPLINK_URI={$DEEPLINK_URI}",
            deepLinks = listOf(navDeepLink {
                uriPattern = "$DEEPLINK_URI/{$OBJECT_ID}"
                action = Intent.ACTION_VIEW
            }),
            arguments = listOf(
                navArgument(name = OBJECT_ID) {
                    type = NavType.IntType
                },
                navArgument(name = DEEPLINK_URI) {
                    type = NavType.StringType
                    defaultValue = ""
                }
            )) { backStackEntry ->

            FoodDetailRoute(navHostController = navHostController)
        }

HomeScreen条目组件代码

Card(
    modifier = Modifier
        .padding(end = 10.dp, start = 10.dp, bottom = 10.dp)
        .fillMaxWidth()
        .height(160.dp)
        .clickable {
            // 点击时想用Deep Link跳转到详情页
        },

Manifest配置代码

<application
        .
        .
        .>

        <intent-filter android:autoVerify="true">
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <data
                android:host="compose"
                android:scheme="example" />
        </intent-filter> 
             ...

内容的提问来源于stack exchange,提问作者NewPartizal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 06:41:08