HarmonyOS 鸿蒙Next:浏览器打开一个h5页面,在h5页面通过标准的js语句通过scheme唤起app并传入参数
HarmonyOS 鸿蒙Next:浏览器打开一个h5页面,在h5页面通过标准的js语句通过scheme唤起app并传入参数
华为浏览器支持外部应用拉起浏览器
打开浏览器打开网页的want参数为action :ohos.want.action.viewData, uri为拉起的网页链接
{
"actions": "ohos.want.action.viewData",
"uri": url
}
打开浏览器打开搜索的want参数为action :ohos.want.action.search, uri为搜索词
{
"actions": "ohos.want.action.search",
"uri": 搜索词
}
action和uri为隐式拉起的必填属性。如果需要显示拉起则需要新增两个属性
bundleName: "com.huawei.hmos.browser",
abilityName: "MainAbility",
华为浏览器支持拉起外部应用
浏览器访问网页经常会遇到deeplink的场景。当前处理方案统一为使用AMS系统能力startAbility去隐式拉起。传递的want参数为
{
“actions”: “ohos.want.action.viewData”,
“uri”: deeplink链接
}
以美团为例。美团网页需要给自己的应用拉活,因此在网页中添加按钮引导用户拉起美团应用。网页端直接提示打开美团应用按钮绑定点击事件window.open(imeituan://www.meituan.com?url=XXX)>,点击该按钮,打开网页web端收到的url为imeituan://www.meituan.com?url=XXX
美团应用想被成功拉起则需要美团应用在工程的model.json5文件中配置abilities的skills中配置
需要注意deeplink链接的scheme协议头必须网页拉起的链接的应用配置的保持一致。
{
“actions”: [
“ohos.want.action.viewData”
],
“uris”: [
{
“scheme”: “imeituan”
}
]
}
另外浏览器不会对deeplink链接做任何解析或处理,只会原封不动的传递给拉起的应用。因此第三方应用只需要自己的网页端和应用端协商好url规则,自己去做解析打开对应页面即可
更多关于HarmonyOS 鸿蒙Next:浏览器打开一个h5页面,在h5页面通过标准的js语句通过scheme唤起app并传入参数的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next系统上,若要通过浏览器中的H5页面使用标准的JavaScript语句通过scheme唤起App并传入参数,可以通过以下方式实现:
-
定义URL Scheme:首先,在你的鸿蒙App中定义一个自定义的URL Scheme。这需要在App的配置文件中进行设置,确保该Scheme是唯一的,并且能够被系统识别。
-
JavaScript调用:在H5页面中,使用JavaScript的
window.location.href
或者window.open
方法,构建并触发一个包含所需参数的URL。例如:var appId = "your_app_id"; var param = "your_param"; window.location.href = "your_scheme://" + appId + "/" + param;
替换
your_scheme
、your_app_id
和your_param
为实际值。 -
App接收参数:在鸿蒙App中,通过监听URL Scheme的启动事件,获取并解析传入的参数。鸿蒙系统提供了相应的API来捕获和处理这些URL Scheme请求。
-
处理逻辑:根据解析出的参数,执行相应的业务逻辑。
确保App和H5页面都在同一设备上,并且App已经安装且能够响应定义的URL Scheme。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html