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

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

前言

  • 本篇只说采用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 
### 鸿蒙 ArkTS 中实现第三方登录 在鸿蒙操作系统(HarmonyOS)中利用ArkTS(Ark TypeScript)实现第三方应用登录功能涉及多个方面,包括但不限于调用特定API接口完成与其他服务提供商的身份验证流程集成。对于按钮触发事件可以采用如下方式设置: 当用户点击“登录”按钮时会执行相应函数,在此函数内部可放置与第三方平台交互逻辑代码[^1]。 为了启动并连接至外部程序,需先取得目标软件包名称(`bundleName`)以及能力名(`abilityName`)[^2]。这一步骤至关重要,因为只有明确了这些信息之后才能准确无误地定位到想要打开的应用及其入口点。 下面是一个简单的示例,展示了如何通过ArkTS发起对另一款APP的调用请求,这里假设已经获得了必要的参数值用于标识那个待访问的服务端口: ```typescript // 定义要跳转的目标应用的相关属性 const targetBundleName = "com.example.thirdpartyapp"; // 替换成实际的 bundle name const targetAbilityName = "MainAbility"; // 替换成实际的 ability name async function launchThirdPartyApp() { try { let want = { bundleName: targetBundleName, abilityName: targetAbilityName }; await featureAbility.startAbility({want}); console.log("Successfully launched third-party app."); } catch (error) { console.error("Failed to start the third party application:", error); } } Button("使用第三方账号登录").onClick(async () => { await launchThirdPartyApp(); }) ``` 上述代码片段实现了基本的功能需求——即响应用户的操作进而激活另一个应用程序的过程;然而真正的社交网络认证过程往往更加复杂,通常涉及到OAuth协议或者其他形式的安全授权机制。因此如果计划深入研究具体某家服务商(比如微信、QQ等)所提供的SDK文档将是很有帮助的选择之一。 另外值得注意的是,在某些情况下可能还需要考虑UI界面的设计部分,例如显示进度条告知正在加载状态或是错误提示框用来反馈可能出现的问题给最终使用者查看。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值