场景描述
使用原生能力startability启动其他应用前,开发者需要判断目标应用是否安装,从而执行不同的逻辑,例如:
-
场景一:支付时商户根据实际情况去判断,拉起支付应用还是h5页面。
-
场景二:分享场景与支付场景,需要列出多个用户可跳转的应用。
业务诉求:
场景一:支付时商户根据实际情况去判断,拉起支付应用还是 h5 页面
显示效果:
1.支付应用存在,拉起支付应用。

核心代码
-
在拉起方的 module.json5 文件中配置 querySchemes 字段,表示本应用可能会用到的 scheme 查询,比如这里配置的 payapp 代表本应用可以使用 bundleManager.canOpenLink() ,来查询 scheme 为 payapp 的链接是否可以打开(payapp://xx?xx=1&yy=2)
"module": {
"querySchemes": [
"payapp",
],
}
2.在被拉起方的module.json文件中的skill字段中配置该应用支持的scheme协议,表示这个应用可以通过此协议打开。
"abilities": [
{
"skills": [
{
"entities": [
"entity.system.home"
],
"actions": [
"action.system.home"
],
"uris": [
{
"scheme": 'payapp'
}
],
}

最低0.47元/天 解锁文章
1626

被折叠的 条评论
为什么被折叠?



