HarmonyOS 鸿蒙Next 卡片中的postCardAction能否用scheme直接呼到客户端某个页面

发布于 1周前 作者 sinazl 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 卡片中的postCardAction能否用scheme直接呼到客户端某个页面

卡片中的postCardAction能直接用scheme直接呼到宿主某个页面么,还是需要先呼到宿主EntryAbility,然后再由EntryAbility去分发到具体页面?

例如目前的scheme是

sinaweibo://searchall?q=%23%E7%8E%8B%E4%B8%80%E5%8D%9A%E6%8D%A1%E8%B5%B7%E6%8E%89%E8%90%BD%E7%9A%84%E5%9B%BD%E6%97%97%23&luicode=10000360&lfid=widget&logfinish=1&extparam=c_type%3D36%26third_source_type%3Dchannel%26out_flag%3Dchannel

如何设置postCardAction,才能直接呼到宿主的这个搜索结果页面。

备注,直接按api下面的格式填写,不生效

postCardAction(this, { action: ‘router’, uri: item.appScheme });

2 回复

router事件则用于在卡片中实现页面的直接跳转 。点击卡片上的按钮可以触发router事件,将用户导航到应用中的指定UIAbility或页面  。

示例代码:

[@Entry](/user/Entry)
[@Component](/user/Component)
struct WidgetEventRouterCard {
    build() {
        Column() {
            Button() {
                onClick(() => {
                    postCardAction(this, {
                        action: 'router',
                        abilityName: 'EntryAbility',
                        params: { targetPage: 'funA' } //  根据传递的targetPage不同,选择拉起不同的页面
                    });
                })
            }
        }
    }
}
 

参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-ui-widget-event-router-V5

HarmonyOS 鸿蒙Next 卡片中的postCardAction不能用scheme直接呼到客户端某个页面

在HarmonyOS鸿蒙Next系统中,postCardAction接口主要用于卡片内部和提供方应用间的交互。它支持router、message和call三种类型的事件,但这些事件并不直接支持使用scheme进行页面跳转。

具体来说,router事件可以跳转到指定UIAbility,并通过router事件刷新卡片内容;call事件可以拉起指定UIAbility到后台,并通过call事件刷新卡片内容;message事件可以拉起FormExtensionAbility,并通过FormExtensionAbility刷新卡片内容。然而,这些跳转都是基于应用内部的Ability进行的,而不是通过scheme实现的。

因此,如果你需要在HarmonyOS鸿蒙Next卡片中实现页面跳转,建议使用postCardAction接口提供的router事件或其他类型的事件,通过指定UIAbility来实现跳转。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部