华为HarmonyOS实现跨多个子系统融合的场景化服务 -- 4 设置打开App Button

发布于:2024-12-18 ⋅ 阅读:(51) ⋅ 点赞:(0)

场景介绍

本章节将向您介绍如何使用Button组件打开APP功能,可调用对应Button组件打开另一个应用。

效果图展示

单击“打开APP”按钮,出现提示弹窗,单击“允许”,跳转至新的应用界面。

说明

弹窗是否弹出以及弹窗效果与跳转目标APP相关。

开发步骤

  1. 导入Scenario Fusion Kit模块以及相关公共模块。

    
      
    1. import { FunctionalButton, functionalButtonComponentManager } from '@kit.ScenarioFusionKit';
    2. import { hilog } from '@kit.PerformanceAnalysisKit';

  2. 在容器中声明FunctionalButton,指定Button的openType,并设置对应的回调函数,代码如下:

    
      
    1. @Entry
    2. @Component
    3. struct Index {
    4. build() {
    5. Row() {
    6. Column() {
    7. // 声明FunctionalButton
    8. FunctionalButton({
    9. params: {
    10. // OpenType.LAUNCH_APP表示Button为打开APP类型
    11. openType: functionalButtonComponentManager.OpenType.LAUNCH_APP,
    12. label: '打开APP',
    13. // OpenType为“functionalButtonComponentManager.OpenType.LAUNCH_APP”时,appParam参数必填
    14. appParam: {
    15. bundleName: "xxx",
    16. abilityName: "xxx"
    17. },
    18. // 调整Button样式
    19. styleOption: {
    20. styleConfig: new functionalButtonComponentManager.ButtonConfig()
    21. .fontSize(20)
    22. .fontColor(Color.Black)
    23. },
    24. },
    25. // OpenType为“LAUNCH_APP”时,回调必须选择“onLaunchAPP”
    26. controller: new functionalButtonComponentManager.FunctionalButtonController().onLaunchApp((err) => {
    27. if (err) {
    28. // 错误日志处理
    29. hilog.error(0x0000, "testTag", "error: %{public}d %{public}s", err.code, err.message);
    30. return;
    31. }
    32. // 成功日志处理,成功时无返回值
    33. hilog.info(0x0000, "testTag", "succeeded in launching app");
    34. })
    35. })
    36. }
    37. .width('100%')
    38. }
    39. .height('100%')
    40. }
    41. }

    说明

    • openType参数填写“functionalButtonComponentManager.OpenType.LAUNCH_APP”指定Button为打开APP类型。
    • openType为“functionalButtonComponentManager.OpenType.LAUNCH_APP”时,appParam参数必填。
    • “bundleName”为包名,“abilityName”为Ability名称。
    • controller参数必须对应填写“new functionalButtonComponentManager.FunctionalButtonController().onLaunchApp”。

    其他参数请参考:FunctionalButton(Button组件)