HarmonyOS 鸿蒙Next 基于原生能力的跨应用跳转

发布于 1周前 作者 bupafengyu 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 基于原生能力的跨应用跳转 场景描述
使用原生能力startability启动其他应用前,开发者需要判断目标应用是否安装,从而执行不同的逻辑,例如:

场景一:支付时商户根据实际情况去判断,拉起支付应用还是h5页面。

场景二:分享场景与支付场景,需要列出多个用户可跳转的应用。

业务诉求:
场景一:支付时商户根据实际情况去判断,拉起支付应用还是h5页面
显示效果:
1. 支付应用存在,拉起支付应用。
2. 支付应用不存在,拉起h5页面进行支付。

核心代码
1. 在拉起方的module.json5文件中配置querySchemes字段,表示本应用可能会用到的scheme查询,比如这里配置的payapp代表本应用可以使用bundleManager.canOpenLink(),来查询scheme为payapp的链接是否可以打开(payapp://xx?xx=1&yy=2)

2. 在被拉起方的module.json文件中的skill字段中配置该应用支持的scheme协议,表示这个应用可以通过此协议打开。

3. 在拉起方中通过bundleManager.canOpenLink()判断该链接能否打开,可以打开的话跳转支付应用进行支付,不能打开的话跳转h5页面来下载应用或者支付。

4. 被调用方在冷启动热启动的情况下都要拉起同一个支付页面,就需要在onNewWant,onCreate,onWindowStageCreate中都添加跳转支付页面的相关逻辑。

场景二:分享场景与支付场景,需要列出多个用户可跳转的应用。
显示效果:
1. 显示多个可跳转的应用列表,其中已安装的应用会显示在列表中,并且点击可以跳转到该应用。

核心代码
1. 同场景一Step1,需要在querySchemes中配置需要进行跳转检测的应用。

2. 在拉起方中遍历想要跳转的所有应用,并在弹窗中显示可以被拉起的应用。

3. 添加按钮,点击出现支付应用列。

4. 在弹窗显示之前判断应用是否已安装,在弹窗中显示已安装的应用,并实现点击跳转到该应用。


更多关于HarmonyOS 鸿蒙Next 基于原生能力的跨应用跳转的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于HarmonyOS 鸿蒙Next 基于原生能力的跨应用跳转的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


针对帖子标题“HarmonyOS 鸿蒙Next 基于原生能力的跨应用跳转”的问题,以下是专业且直接的回答:

在HarmonyOS鸿蒙Next系统中,实现基于原生能力的跨应用跳转,主要依赖于系统提供的API和框架支持。开发者可以通过调用这些API,实现从一个应用到另一个应用的跳转功能。

具体来说,鸿蒙系统提供了Intent机制,类似于Android的Intent,用于在不同应用之间传递数据和执行动作。开发者需要构造一个包含目标应用信息和所需参数的Intent对象,然后调用系统提供的API来启动目标应用。

此外,鸿蒙系统还提供了相关的权限管理和安全机制,以确保跨应用跳转的安全性和可控性。开发者在实现跨应用跳转时,需要遵循系统的权限申请和安全验证流程。

需要注意的是,不同版本的鸿蒙系统可能在API和功能上存在差异,因此开发者在实现跨应用跳转时,需要参考对应版本的官方文档和API指南。

如果开发者在实现过程中遇到具体问题或错误,建议检查API的使用是否正确,以及是否满足系统的权限和安全要求。如果问题依旧没法解决,请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部