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

场景介绍

本章节将向您介绍如何使用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组件)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/937606.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Spring Security 6 系列之二 - 基于数据库的用户认证和认证原理

之所以想写这一系列,是因为之前工作过程中使用Spring Security,但当时基于spring-boot 2.3.x,其默认的Spring Security是5.3.x。之后新项目升级到了spring-boot 3.3.0,结果一看Spring Security也升级为6.3.0,关键是其风…

[笔记] Ubuntu Server 24.04安装MySql8,并配置远程连接

1、MySql安装 #更新列表 sudo apt update ​ #安装mysql sudo apt install mysql-server ​ #运行状态 mysql sudo service mysql status ​ # 安装完成,已自动启动,该步可以不用 启动 mysql sudo /etc/init.d/mysql start ​ # 该步骤可以不配置&…

软件开发中 Bug 为什么不能彻底消除

在软件开发中,Bug无法彻底消除的原因主要包括:软件复杂度高、人员认知与沟通受限、需求和环境不断变化、工具与测试覆盖不足、经济与时间成本制约。其中“需求和环境不断变化”尤为关键,因为在实际开发中,业务逻辑随着市场与用户反…

使用ElasticSearch实现全文检索

文章目录 全文检索任务描述技术难点任务目标实现过程1. java读取Json文件,并导入MySQL数据库中2. 利用Logstah完成MySQL到ES的数据同步3. 开始编写功能接口3.1 全文检索接口3.2 查询详情 4. 前端调用 全文检索 任务描述 在获取到数据之后如何在ES中进行数据建模&a…

《拉依达的嵌入式\驱动面试宝典》—C/CPP基础篇(三)

《拉依达的嵌入式\驱动面试宝典》—C/CPP基础篇(三) 你好,我是拉依达。 感谢所有阅读关注我的同学支持,目前博客累计阅读 27w,关注1.5w人。其中博客《最全Linux驱动开发全流程详细解析(持续更新)-CSDN博客》已经是 Linux驱动 相关内容搜索的推荐首位,感谢大家支持。 《拉…

调用完BAPI_PO_CREATE1创建采购订单之后,如果不调用BAPI_TRANSACTION_COMMIT,数据库里面没有数

在调用完BAPI_PO_CREATE1创建采购订单之后,如果不调用BAPI_TRANSACTION_COMMIT,那么就无法生成真正的采购订单号,在数据库里面没有数 运行结果 特别注意

linux(CentOS8)安装PostgreSQL16详解

文章目录 1 下载安装包2 安装3 修改远程连接4 开放端口 1 下载安装包 官网下载地址:https://www.postgresql.org/download/ 选择对应版本 2 安装 #yum源 yum -y install wget https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redha…

如何通过递延型指标预测项目的长期成果?

递延型指标(Deferred Metrics)是指那些并不立即反映或直接影响当前操作、决策或行为的指标,而是随着时间的推移,才逐渐显现出影响效果的指标。这类指标通常会在一段时间后反映出来,或者需要一定的周期才能展现其成果或…

Reactor 响应式编程(第四篇:Spring Security Reactive)

系列文章目录 Reactor 响应式编程(第一篇:Reactor核心) Reactor 响应式编程(第二篇:Spring Webflux) Reactor 响应式编程(第三篇:R2DBC) Reactor 响应式编程&#xff08…

力扣-图论-14【算法学习day.64】

前言 ###我做这类文章一个重要的目的还是给正在学习的大家提供方向和记录学习过程(例如想要掌握基础用法,该刷哪些题?)我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非…

Leetcode经典题11--加油站

题目描述 在一条环路上有 n 个加油站,其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。 给定两个整数数组 gas 和…

前端退出对话框也就是点击右上角的叉,显示灰色界面,已经解决

文章目录 遇到一个前端bug,点击生成邀请码 打开对话框 然后我再点击叉号,退出对话框,虽然退出了对话框,但是显示灰色界面。如下图: 导致界面就会失效,点击任何地方都没有反应。 发现是如下代码的问题&am…

软件需求概述(尊享版)

软件需求与软件分析 软件需求:用户角度,注重软件外在表现 软件分析:开发者角度,注重软件内部逻辑结构 面向对象分析模型 类/对象模型(全部的类和对象) 对象-关系模型(对象之间的静态关系&…

配置Hugging_face国内镜像

目录 随着人工智能技术的蓬勃发展,Huggingface这一开源平台已成为研究者和开发者的宝贵资源,提供了丰富的预训练模型,助力自然语言处理任务的快速推进。然而,对于身处国内的我们而言,访问Huggingface主仓库时&#xff…

Rust之抽空学习系列(四)—— 编程通用概念(下)

Rust之抽空学习系列(四)—— 编程通用概念(下) 1、函数 函数用来对功能逻辑进行封装,能够增强复用、提高代码的可读 以下是函数的主要组成部分: 名称参数返回类型函数体 1.1、函数名称 在Rust中&…

电脑游戏运行时常见问题解析:穿越火线提示“unityplayer.dll丢失”的修复指南

电脑游戏运行时常见问题解析:穿越火线提示“unityplayer.dll丢失”的修复指南 在探索电脑游戏的无限乐趣时,我们时常会遇到一些不期而遇的挑战。今天,我们将聚焦于一个常见的游戏运行错误——穿越火线(或其他使用Unity引擎的游戏…

Mac系统下 jdk和maven 安装教程

一、jdk安装教程 1、先去官网选择对应版本下载 官网网址:Java SE | Oracle Technology Network | Oracle 中国 这里我选择的是jdk8的版本,如果你们想下载更高的版本就选择其他版本,目前大部分公司和教程使用jdk8的版本比较多。 点击macos&a…

Python -- Linux中的Matplotlib图中无法显示中文 (中文为方框)

目的 用matplotlib生成的图中文无法正常显示 方法 主要原因: 没找到字体 进入windows系统的C:\Windows\Fonts目录, 复制自己想要的字体 粘贴到Linux服务器中对应python文件所处的文件夹内 设置字体: 设置好字体文件的路径在需要对字体设置的地方设置字体 效果 中文正常显…

Python中的self关键字详解

文章目录 Python中的self关键字详解一、引言二、self的基本概念1、定义类和实例 三、self在方法调用中的角色2、调用其他方法 四、使用示例3、继承中的self 五、总结 Python中的self关键字详解 一、引言 在Python的面向对象编程中,self是一个至关重要的概念&#x…

LabVIEW热电偶传感器虚拟仿真实验系统

在教学和科研领域,实验设备的更新和维护成本较高,尤其是在经济欠发达地区,设备的短缺和陈旧化严重影响了教学质量。基于LabVIEW的热电偶传感器虚拟仿真实验系统能够通过模拟实验环境,提供一个成本低廉且效果良好的教学和研究平台。…