HarmonyOS使用arkTS拉起指定第三方应用程序

HarmonyOS使用arkTS拉起指定第三方应用程序

    • 前言
    • 代码及说明
        • bundleName获取
        • abilityName获取

前言

  • 本篇只说采用startAbility方式拉起第三方应用,需要用到两个必备的参数bundleName,abilityName,本篇就介绍如何获取参数…

代码及说明

bundleName获取

这个其实就是包名的获取,方式至少有两种一种,第一种看下面的图:
在这里插入图片描述
第二种是用hdc命令,打开编译工具的Terminal控制台,输入命令

hdc shell bm dump -a

在这里插入图片描述

abilityName获取

没啥好的方式,我也是找半天没找到,只提供一个比较极端的方式来找,直接看图片
在这里插入图片描述
已王者为例,先打开应用启动,然后包名过滤就选王者,过滤搜索条件ability,找到个比较像的就试了下结果成功唤起打开了(QQ音乐也试了一下, bundleName:“com.tencent.hm.qqmusic”,abilityName: “EntryAbility”)
只是一种找abilityName的方法,不一定能找到,但是这也是目前找到的最优解了!

笑哭…

最后附上完整代码(部分无用代码没整理):

import promptAction from '@ohos.promptAction';

import { BusinessError } from '@kit.BasicServicesKit';
import Logger from '../util/Logger'
import { common } from '@kit.AbilityKit';

const TAG: string = 'LogIndex'
const BUNDLE_NAME: string = 'com.example.myapplication'
const AUDIO_ABILITY_NAME: string = "EntryAbility"

@Entry
@Component
struct Index {
  @State message: string = 'Hello World';
  private context?: common.UIAbilityContext

  build() {
    RelativeContainer() {
      Text(this.message)
        .id('HelloWorld')
        .fontSize(50)
        .fontWeight(FontWeight.Bold)
        .alignRules({
          center: { anchor: '__container__', align: VerticalAlign.Center },
          middle: { anchor: '__container__', align: HorizontalAlign.Center }
        })
        .onClick(() => {
          promptAction.showToast({ message: "点击提示" })
          console.log("fadfasdfasfasdf")
        })
      Button("UI控件")
        .onClick(() => {
          Logger.info(TAG, 'onClick success')
          if (this.context) {
            this.context.startAbility({
              bundleName: BUNDLE_NAME,
              abilityName: AUDIO_ABILITY_NAME
            }).then(() => {
              Logger.info(TAG, 'start UI控件 ability success')
            }).catch((error: BusinessError) => {
              Logger.error(TAG, 'start UI控件 ability failed, error: ' + JSON.stringify(error))
            })
          }
        })

      Button("跳转")
        .margin({ top: 100, left: 100 })
        .onClick(() => {
          if (this.context) {
            this.context.startAbility({
              bundleName: "com.tencent.tmgp.sgamece.hw",
              abilityName: "SGameAbility"
            }).then(() => {
              Logger.info(TAG, 'start ability success')
            }).catch((error: BusinessError) => {
              Logger.error(TAG, 'start ability failed, error: ' + JSON.stringify(error))
            })
          }
        })
    }
    .height('100%')
    .width('100%')
  }

  aboutToAppear() {
    this.context = getContext(this) as common.UIAbilityContext
  }
}

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

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

相关文章

WPF之iconfont(字体图标)使用

1,前文: WPF的Xaml是与前端的Html有着高度相似性的标记语言,所以Xaml也可同Html一般轻松使用阿里提供的海量字体图标,从而有效的减少开发工作度。 2,下载字体图标: 登录阿里图标库网iconfont-阿里巴巴矢量…

猎板PCB2到10层数的科技进阶与应用解析

1. 单层板(Single-sided PCB) 定义:单层板是最基本的PCB类型,导线只出现在其中一面,因此被称为单面板。限制:由于只有一面可以布线,设计线路上有许多限制,不适合复杂电路。应用&…

HTML 标签属性——<a>、<img>、<form>、<input>、<table> 标签属性详解

文章目录 1. `<a>`元素属性hreftargetname2. `<img>`元素属性srcaltwidth 和 height3. `<form>`元素属性actionmethodenctype4. `<input>`元素属性typevaluenamereadonly5. `<table>`元素属性cellpaddingcellspacing小结HTML元素除了可以使用全局…

腾讯轻量云服务器docker拉取不到镜像的问题:拉取超时

前言 也是尝试了各种解决方案之后&#xff0c;无果&#xff0c; 后来发现每个服务器提供商都有自己的镜像加速&#xff0c;且只给自家服务器使用&#xff0c;我用的腾讯云 教程 安装docker 直接上链接&#xff1a;云服务器 搭建 Docker-实践教程-文档中心-腾讯云 配置加速镜…

使用LNMP搭建私有云存储+内网穿透

目录 LNMP搭建私有云存储准备工作安装 内网穿透&#xff08;cpolar&#xff09; LNMP搭建私有云存储 准备工作 恢复快照&#xff0c;关闭安全软件 [rootserver ~]# setenforce 0 setenforce: SELinux is disabled [rootserver ~]# systemctl stop firewalld搭建LNMP环境 [r…

虚幻引擎5(UE5)学习教程

虚幻引擎5&#xff08;UE5&#xff09;学习教程 引言 虚幻引擎5&#xff08;Unreal Engine 5&#xff0c;简称UE5&#xff09;是Epic Games开发的一款强大的游戏引擎&#xff0c;广泛应用于游戏开发、影视制作、建筑可视化等多个领域。UE5引入了许多先进的技术&#xff0c;如…

VBA02-初识宏——EXCEL录像机

一、录制宏 录制宏其实就是将一系列操作结果录制下来&#xff0c;并命名存储。这些操作可以是关于数据的处理、格式的设置、函数的运用等&#xff0c;相当于在编程语言&#xff08;如VB&#xff09;中定义的一个子程序。 在录制宏时&#xff0c;软件会记录用户执行的一系列操…

如何找到奥德彪视频素材?推荐视频素材网站

今天&#xff0c;我们来聊一个充满趣味的话题——奥德彪视频素材。即使你还不太了解这个名词&#xff0c;跟着我一起探索&#xff0c;你会发现这其实是一个非常有趣的旅程。接下来&#xff0c;我将推荐几个优秀的视频素材网站&#xff0c;帮助你找到想要的奥德彪视频素材。 蛙学…

vue3如何使用pinia设置全局状态,附常见面试题

1. stores/index.ts 文件 在 index.ts 中创建 store 实例并封装了注册逻辑&#xff0c;这样可以方便地将整个 Pinia 实例注册到 Vue 应用中。代码如下&#xff1a; import type { App } from vue import { createPinia } from piniaconst store createPinia()// 全局注册 st…

【字符串匹配算法】BF与KMP算法

一、BF算法 1.1 概念 BF算法&#xff0c;即暴力&#xff08;Brute Force&#xff09;算法&#xff0c;是普通的模式匹配算法&#xff0c;BF算法的思想就是将目标串S与字串T的第一个字符进行匹配&#xff0c;若相等&#xff0c;则继续比较S的第二个字串和T的第二个字符&#x…

【Allure】allure装饰器函数

**allure装饰器**​作用&#xff1a;用于将测试用例的数据展示到测试报告中 1.需要将这些装饰器函数添加**测试方法或测试类的开头**。2.同一个类或者一个方法可以添加多个装饰器函数 &#xff0c;这样此用例就具有了个作用属性 。 allure.epic() 敏捷中的概念 项目名称 allu…

1.3 自然语言处理的应用

自然语言处理&#xff08;NLP&#xff09;在多个领域有广泛应用&#xff0c;如自动文摘、机器翻译、情感分析等。本实战将通过NLTK库&#xff0c;演示文本预处理的关键技术&#xff0c;包括小写转换、去噪、文本规范化、词干提取、词形还原、标记化以及删除停止词。这些技术为构…

数学建模启发式算法篇(一)---遗传算法

文章目录 1.引言2.生物学基础2.1适应度2.2染色体&#xff0c;基因 3.算法介绍3.1算法流程3.2编码和解码3.3轮盘赌选择3.4交叉和变异3.5初始参数的设置 4.实际应用-matlab4.1观察图像4.2初始参数说明4.3init初始化4.4二进制转换为十进制4.5选择,交叉过程4.6情况说明4.7代码 1.引…

Matplotlib | 条形图中的每个条形(patch)设置标签数据的方法

方法一 不使用子图对象如何给形图中的每个条形设置数据 plt.figure(figsize(8, 4)) sns.countplot(xWorkout_Frequency (days/week), datadf)plt.title(会员每周锻炼频率分布) plt.xlabel(锻炼频率 (每周次数)) plt.ylabel(人数)# 获取当前活动的轴对象 ax plt.gca()# 循环遍…

【JavaSE】(2) 方法

一、认识方法 1. 方法的定义 修饰符 返回类型 方法名(形参类型 形参名, ......){......return 返回值; } 示例代码&#xff1a; 2. 方法的作用 增强代码的可复用性。&#xff08;避免重复造轮子&#xff09;增强代码的易管理性。&#xff08;改方法就行&#xff0c;不用到处…

计算机网络socket编程(1)_UDP网络编程实现echo server

个人主页&#xff1a;C忠实粉丝 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 C忠实粉丝 原创 计算机网络socket编程(1)_UDP网络编程实现echo server 收录于专栏【计算机网络】 本专栏旨在分享学习计算机网络的一点学习笔记&#xff0c;欢迎大家在评论区交…

第9章 Apache WEB服务器企业实战

万维网 (WORLD WIDE WEB,WWW)服务器,也称之为WEB服务器,主要功能是提供网上信息浏览服务。WWW是 Internet的多媒体信息查询工具,是Internet上飞快发展的服务,也是目前用的最广泛的服务。正是因为有了WWW软件,才使得近年来 Internet 迅速发展。 目前主流的WEB服务器软件包…

C++__XCode工程中Debug版本库向Release版本库的切换

Debug和Release版本分别设置编译后&#xff0c;就分别得到了对应的lib库&#xff0c;如下图&#xff1a; 再生成Release后如下图&#xff1a;

关于圆周率

关于圆周率 大约20年前的2005年&#xff0c;我在上大学的时候&#xff0c;网上流传这样一段程序&#xff0c;被称之为“外星人计算圆周率程序”。程序如下&#xff1a; long a 10000, b, c 2800, d, e, f[2801], g; main() {for (; b - c;) f[b] a / 5; for (; d 0, g …

Node.js回调函数以及事件循环使用介绍(基础介绍 三)

回调函数 Node.js 异步编程的直接体现就是回调。 异步编程依托于回调来实现&#xff0c;但不能说使用了回调后程序就异步化了。 回调函数在完成任务后就会被调用&#xff0c;Node 使用了大量的回调函数&#xff0c;Node 所有 API 都支持回调函数。 例如&#xff0c;我们可以…