今天在开发Android app时,加入微信分享sdk,需要分享app关联的小程序到微信。除了鸿蒙系统其它Android手机都可以。
在鸿蒙系统分享就会出现错误:
Failed to find provider info for com.tencent.mm.sdk.comm.provider
getTokenFromWX , token is null , if your app targetSdkVersion >= 30, include 'com.tencent.mm' in
sdk版本:6.8.30
分享代码如下:
IWXAPI api = WXAPIFactory.createWXAPI(InviteChooseActivity.this, WECHAT_ID);
WXMiniProgramObject miniProgramObj = new WXMiniProgramObject();
miniProgramObj.webpageUrl = "http://www.qq.com";
miniProgramObj.miniprogramType = WXMiniProgramObject.MINIPTOGRAM_TYPE_RELEASE;
miniProgramObj.userName = "gh_830d0953****";
String familyName = family.getName();
miniProgramObj.path = String.format("/sub-packages/house/pages/invitation/index?userName=%s&secret=%s&houseName=%s",
MyApplication.viewModel.userInfo.getValue().getNickName(),
inviteSecretBean.secret, familyName);
//小程序页面路径;对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar"
WXMediaMessage msg = new WXMediaMessage(miniProgramObj);
msg.title = "「和我一起控制家里的设备」"; // 小程序消息title
// msg.description = "小程序消息Desc"; // 小程序消息desc
msg.thumbData = getThumb(); // 小程序消息封面图片,小于128k
SendMessageToWX.Req req = new SendMessageToWX.Req();
req.transaction = buildTransaction("miniProgram");
req.message = msg;
req.scene = SendMessageToWX.Req.WXSceneSession; // 目前只支持会话
api.sendReq(req);
按照官方文档适配了也是无济于事。
<queries>
<package android:name="com.tencent.mm" /> // 指定微信包名
</queries>

你好,复现问题时麻烦在手机微信那里上传下日志: 我->设置->帮助与反馈右上角有个上报日志的入口,麻烦提供一下微信号,时间点,bundleid、identifier、appid和opensdk的调用时间点(可以社区私信提供)和open账号后台移动应用签名截图