【HarmonyOS NEXT】如何通过h5拉起应用(在华为浏览器中拉起应用)

华为浏览器支持拉起外部应用

浏览器访问网页经常会遇到deeplink的场景。当前处理方案统一为使用AMS系统能力startAbility去隐式拉起。传递的want参数为

{

"actions": "ohos.want.action.viewData",

"uri": deeplink链接

}

网页需要给自己的应用拉活,因此在网页中添加按钮引导用户拉应用。网页端直接提示打开应用按钮绑定点击事件window.open(iyingyong://www.yingyong.com?url=XXX)>,点击该按钮,打开网页web端收到的url为iyingyong://www.yingyong.com?url=XXX

应用想被成功拉起则需要应用在工程的model.json5文件中配置abilities的skills中配置

复制代码
{
    "actions": [
        "ohos.want.action.viewData"
    ],
    "uris": [
        {
            "scheme": "iyingyong"
        }
    ]
}

需要注意deeplink链接的scheme协议头必须网页拉起的链接的应用配置的保持一致。

另外浏览器不会对deeplink链接做任何解析或处理,只会原封不动的传递给拉起的应用。因此第三方应用只需要自己的网页端和应用端协商好url规则,自己去做解析打开对应页面即可

浏览器拉起应用,前端网页:

html 复制代码
<!DOCTYPE html>
<html>
<body>
<div>
<button type="button" onclick="goToLink()">拉起应用</button>
</div>
</body>
</html>
<script>
function goToLink() {
window.open('iyingyong://xxxxxx/')
}
</script>

应用配置:

javascript 复制代码
{
"actions": [
"ohos.want.action.viewData"
],
"uris": [
{
"scheme": "iyingyong"
}
]
}

如果使用web拉起

javascript 复制代码
Web({ src: $rawfile('local.html'), controller: this.controller })
.onLoadIntercept((event) => {
if (event) {
let url: string = event.data.getRequestUrl();
console.log(url)
if (url.indexOf('iyingyong://') === 0) {
// 跳转拨号界面
const want: Want = {
uri: 'iyingyong://xxxxxx'
}
const context = getContext(this) as common.UIAbilityContext;
context.startAbility(want).then(() => {
//拉起成功
}).catch(() => {
})
return true;
}
}
return false;
})
相关推荐
UnicornDev9 小时前
【HarmonyOS 6】空状态页面布局设计
华为·harmonyos·arkts·鸿蒙·鸿蒙系统
risc12345611 小时前
复杂社会需要更强的系统整合能力
鸿蒙系统
互联网散修16 小时前
零基础鸿蒙应用开发第十九节:解锁灵活数据存储新技能Map/Set
harmonyos
枫叶丹417 小时前
【HarmonyOS 6.0】ArkData 应用间配置共享:构建跨应用协作新范式
开发语言·华为·harmonyos
互联网散修17 小时前
零基础鸿蒙应用开发第十八节:内置泛型工具类型应用
harmonyos
轻口味18 小时前
HarmonyOS 6 自定义人脸识别模型8:MindSpore Lite框架介绍与使用
c++·华为·ai·harmonyos
枫叶丹418 小时前
【HarmonyOS 6.0】ArkData 分布式数据对象新特性:资产传输进度监听与接续传输能力深度解析
开发语言·分布式·华为·wpf·harmonyos
枫叶丹418 小时前
【HarmonyOS 6.0】Agent Framework Kit深度解析:构建应用与智能体的无缝连接
华为·aigc·harmonyos
亚历克斯神1 天前
Flutter for OpenHarmony: Flutter 三方库 mutex 为鸿蒙异步任务提供可靠的临界资源互斥锁(并发安全基石)
android·数据库·安全·flutter·华为·harmonyos
钛态1 天前
Flutter 三方库 smartstruct 鸿蒙化字段映射适配指南:介入静态预编译引擎扫除视图及数据模型双向强转类型错乱隐患,筑稳如磐石的企业级模型治理防线-适配鸿蒙 HarmonyOS ohos
flutter·华为·harmonyos