类似一起做网站的网站,厦门市建设管理协会网站,江苏住房和城乡建设厅官方网站6,杭州网站建设杭州手机网站建设华为浏览器支持拉起外部应用 浏览器访问网页经常会遇到deeplink的场景。当前处理方案统一为使用AMS系统能力startAbility去隐式拉起。传递的want参数为 { actions: ohos.want.action.viewData, uri: deeplink链接 } 网页需要给自己的应用拉…华为浏览器支持拉起外部应用 浏览器访问网页经常会遇到deeplink的场景。当前处理方案统一为使用AMS系统能力startAbility去隐式拉起。传递的want参数为 { actions: ohos.want.action.viewData, uri: deeplink链接 } 网页需要给自己的应用拉活因此在网页中添加按钮引导用户拉应用。网页端直接提示打开应用按钮绑定点击事件window.open(iyingyong://www.yingyong.com?urlXXX),点击该按钮打开网页web端收到的url为iyingyong://www.yingyong.com?urlXXX 应用想被成功拉起则需要应用在工程的model.json5文件中配置abilities的skills中配置
{actions: [ohos.want.action.viewData],uris: [{scheme: iyingyong}]
} 需要注意deeplink链接的scheme协议头必须网页拉起的链接的应用配置的保持一致。 另外浏览器不会对deeplink链接做任何解析或处理只会原封不动的传递给拉起的应用。因此第三方应用只需要自己的网页端和应用端协商好url规则自己去做解析打开对应页面即可
浏览器拉起应用前端网页
!DOCTYPE html
html
body
div
button typebutton onclickgoToLink()拉起应用/button
/div
/body
/html
script
function goToLink() {
window.open(iyingyong://xxxxxx/)
}
/script 应用配置
{
actions: [
ohos.want.action.viewData
],
uris: [
{
scheme: iyingyong
}
]
} 如果使用web拉起
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;
})