HarmonyOS 鸿蒙Next 卡片中的postCardAction能否用scheme直接呼到客户端某个页面
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 });
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 。