全是从微信官网copy来的,自己重新敲一遍,增加点印象。
添加依赖
dependencies {
api 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:+'
}
跳转代码
String appId = "wxd930ea5d5a258f4f"; // 填移动应用(App)的 AppId,非小程序的 AppID
IWXAPI api = WXAPIFactory.createWXAPI(context, appId);
WXLaunchMiniProgram.Req req = new WXLaunchMiniProgram.Req();
req.userName = "gh_d43f693ca31f"; // 填小程序原始id
req.path = path; 拉起小程序页面的可带参路径,不填默认拉起小程序首页,对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar"。
req.miniprogramType = WXLaunchMiniProgram.Req.MINIPTOGRAM_TYPE_RELEASE;// 可选打开 开发版,体验版和正式版
api.sendReq(req);
回调逻辑
public void onResp(BaseResp resp) {
if (resp.getType() == ConstantsAPI.COMMAND_LAUNCH_WX_MINIPROGRAM) {
WXLaunchMiniProgram.Resp launchMiniProResp = (WXLaunchMiniProgram.Resp) resp;
String extraData =launchMiniProResp.extMsg; //对应小程序组件 <button open-type="launchApp"> 中的 app-parameter 属性
}
}
踩到的坑
1、req.userName一定要原始id,不是wx的小程序appid
2、提示“由于应用包名前面信息校验不通过,无法分享到微信“,需要查看当前APP包名&签名是否添加到微信小程序开发平台。
https://developers.weixin.qq.com/community/develop/doc/0008668a698990054a0b1072e5b400
3、小程序原始id找回办法:https://developers.weixin.qq.com/community/develop/doc/000686f2a5415065927b73e1851c00