鸿蒙版微信版本号:8.0.11.34
已接入鸿蒙版open sdk,成功实现分享到微信功能,但微信内网页跳转到 鸿蒙APP遇到“未找到相关应用,请检查是否卸载”问题
import * as wxopensdk from '@tencent/wechat_open_sdk';
export type OnWXReq = (req: wxopensdk.BaseReq) => void
export type OnWXResp = (resp: wxopensdk.BaseResp) => void
const TAG = "WXApiEventHandlerImpl"
class WXApiEventHandlerImpl implements wxopensdk.WXApiEventHandler {
private onReqCallbacks: Map<OnWXReq, OnWXReq> = new Map
private onRespCallbacks: Map<OnWXResp, OnWXResp> = new Map
registerOnWXReqCallback(on: OnWXReq) {
this.onReqCallbacks.set(on, on)
}
unregisterOnWXReqCallback(on: OnWXReq) {
this.onReqCallbacks.delete(on)
}
registerOnWXRespCallback(on: OnWXResp) {
this.onRespCallbacks.set(on, on)
}
unregisterOnWXRespCallback(on: OnWXResp) {
this.onRespCallbacks.delete(on)
}
onReq(req: wxopensdk.BaseReq): void {
Logger.info(TAG, "onReq:%s", JSON.stringify(req))
this.onReqCallbacks.forEach((on) => {
on(req)
})
}
onResp(resp: wxopensdk.BaseResp): void {
Logger.info(TAG, "onResp:%s", JSON.stringify(resp))
this.onRespCallbacks.forEach((on) => {
on(resp)
})
}
}
// WXApi 是和包和微信通信的openApi接口,其实例通过WXAPIFactory获取,需要传入和包申请到的AppID
export const WXApi = wxopensdk.WXAPIFactory.createWXAPI(CommonConstants.WX_APP_ID)
export const WXEventHandler = new WXApiEventHandlerImpl
private handleWXReq = (req: BaseReq) => {
if (req instanceof wxopensdk.LaunchFromWXReq) {
const url = req.message?.messageExt ?? '';
if(url){
this.oprateWantUri(url)
}
}
}
private handleWXResp = (resp: wxopensdk.BaseResp) => {
if (resp instanceof wxopensdk.SendMessageToWXResp) {
if(resp.errCode === ErrCode.ERR_OK){
Logger.info(TAG, `微信分享成功!`)
}else {
Logger.error(TAG, `微信分享失败!`)
}
}
}

你好,着重排查调用系统的startAbiity接口,应用不匹配
这问题弄了我三个点儿,挺恶心的,解决方式是skills写2个对象,wxentity.action.open和 uris 不能共存导致。
那把 uris 里面的都删掉,才能正常跳转,十分过分