Android唤起微信并进入指定小程序页面

全是从微信官网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

参考资料

https://developers.weixin.qq.com/doc/oplatform/Mobile_App/Launching_a_Mini_Program/Android_Development_example.html


版权声明:本文为kiba_zwei原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。