在 HarmonyOS 卡片开发中,FormLink 跳转 UIAbility 不生效是哪里配置有问题?

在做一个静态卡片跳转功能时,我用了 FormLink 设置 action: "router",也填了 abilityName,但点击后没跳转,也没报错。代码大概是这样的:

FormLink({
  action: "router",
  abilityName: "EntryAbility",
  params: {
    message: "testJump"
  }
}) {
  Button("跳转")
}

请问是不是还要配置什么 module.json5 或者权限之类的?为什么不生效?

阅读 245
1 个回答

据我所知,使用 FormLink 的 router 类型时,除了设置 abilityName 外,还需要确保目标 Ability 是支持跳转的,并且不推荐用于刷新卡片自身 UI。

看一下下面几点,

目标应用已安装;
目标 UIAbility 的模块名、包名正确匹配(可设置 bundleName, moduleName);
静态卡片只能调用外部 UIAbility,不能回调自身;
不要用 router 类型执行“刷新卡片”这类操作,推荐用 message 类型。

也可以用 uri:

FormLink({
  action: "router",
  uri: "example://uri.ohos.com/link_page"
})

并在目标应用的 module.json5 中配置对应的 uri。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进