HarmonyOS 鸿蒙Next通过scheme如何唤起三方APP

发布于 1周前 作者 eggper 最后一次编辑是 5天前 来自 鸿蒙OS

通过scheme如何唤起三方APP,参考的文档是https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/deep-linking-startup-V5

使用以下两种代码未有效果

通过scheme如何唤起三方APP,参考的文档是https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/deep-linking-startup-V5

使用以下两种代码未有效果 //方法1

let link: string = "xx"
let openLinkOptions: OpenLinkOptions = {
appLinkingOnly: false
};
try {

Utils.getAbilityContext().openLink(link, openLinkOptions)
.then(() => {
hilog.info(DOMAIN_NUMBER, TAG, 'open link success.')
resolve(true)
}).catch((err: BusinessError) => {
hilog.error(DOMAIN_NUMBER, TAG, `open link failed. Code is ${err.code}, message is ${err.message}`)
resolve(false)
})
} catch (paramError) {
hilog.error(DOMAIN_NUMBER, TAG, `Failed to start link. Code is ${paramError.code}, message is ${paramError.message}`)
resolve(false)
}

//方法2

let want: Want = {
uri: "xx"
};
try {
Utils.getAbilityContext().startAbility(want).then(() => {
hilog.info(DOMAIN_NUMBER, TAG, 'start ability success.');
}).catch((err: BusinessError) => {
hilog.error(DOMAIN_NUMBER, TAG, `start ability failed. Code is ${err.code}, message is ${err.message}`);
})
} catch (paramError) {
hilog.error(DOMAIN_NUMBER, TAG, `Failed to start ability. Code is ${paramError.code}, message is ${paramError.message}`);
}

更多关于HarmonyOS 鸿蒙Next通过scheme如何唤起三方APP的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复
 建议跳转之前先使用canOpenLink判断应用是否可访问,参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/canopenlink-V5

更多关于HarmonyOS 鸿蒙Next通过scheme如何唤起三方APP的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS(鸿蒙)系统中,通过scheme唤起第三方应用(APP)主要依赖于URI(统一资源标识符)的调用。以下是在鸿蒙系统中通过scheme唤起第三方应用的基本方法:

  1. 定义Scheme:首先,第三方应用需要在其manifest文件中声明一个自定义的scheme。例如,如果第三方应用的包名为com.example.app,它可以声明一个scheme为exampleapp://

  2. 构建URI:要唤起该应用,你需要构建一个包含该scheme的URI。例如,Uri uri = Uri.parse("exampleapp://somepath");

  3. 发送Intent:使用鸿蒙系统的Intent机制来发送这个URI。你可以创建一个Intent对象,并设置其Action为Intent.ACTION_VIEW,同时设置数据为之前构建的URI。例如,Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW); intent.setData(uri);

  4. 启动Activity:最后,通过startActivity方法启动这个Intent,系统将尝试根据URI中的scheme找到并启动对应的第三方应用。

请注意,第三方应用必须已经在设备上安装,并且其manifest文件中已经正确声明了对应的scheme,否则系统将无法找到并启动该应用。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部