HarmonyOS NEXT 鸿蒙应用H5跳转微信打开微信文章
原生应用和H5打开微信指定网页,使用隐式want+startAbility
·
在原生应用中打开微信的指定网页,通常可以通过调用微信的URLScheme来实现;webview的H5页面打开微信文章也是相同的处理办法
一、前提条件
1.微信支持特定的URL Scheme,可以用来打开指定的网页。需要使用以下格式的URL:
weixin://dl/business?ticket=xxxxx 或者 weixin://dl/webview?url=你的网页URL
2.需要有微信SDK
ohpm i @tencent/wechat_open_sdk
下载好了之后,oh-package中就有了微信的SDK
![]()
3.HAP包中的module.json5中,querySchemes里必须要有weixin
"querySchemes": [
"weixin",
"alipays"
],
二、实现方法
1.拦截web组件上的url
Web({ src: '', controller: this.controller })
.onLoadIntercept((event) => {
return this.webviewModel.handleLoadIntercept(event);
})
//然后拿到URL
public handleLoadIntercept(event: OnLoadInterceptEvent) {
let url = event?.data.getRequestUrl();
}
2.然后再判断url是否以weixin://dl/business开头
public handleLoadIntercept(event: OnLoadInterceptEvent) {
let url = event?.data.getRequestUrl();
if(url.includes('weixin://dl/business')){
this.wxToArticle(url)
}
}
3.触发打开微信,微信自动解析url
/**
* @param url:跳转微信文章链接
* @date: 2025.3.26
*/
async wxToArticle(url: string) {
let context = getContext(this) as common.UIAbilityContext
//使用want搭配startAbility进行跳转微信
let want:Want = {
uri: url,
action: 'ohos.want.action.viewData',
}
try {
context.startAbility(want)
} catch (e) {
if (e) {
ServiceAccessFilter.showToast('打开微信失败')
}
}
}更多推荐



所有评论(0)