没看官方文档的,一定看这篇啊,血泪教训啊!!!
第一步 :
先去开放平台做一个app和小程序的绑定(很重要)如图:
如果是同一个账号下的(app和小程序是同一个账号)则不需要绑定(官方文档这样写的,但是我还是做了绑定)
绑定完成后
第二部:
如果之前项目中没有接入过 微信的,那就先接入微信的sdk
再build.gradle中添加
compile 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:+'
如果之前接入过微信的,那就直接上代码就行了,在点击事件中做下面这就就行了
String appId = App.WX_APP_ID; // 填应用AppId IWXAPI api = WXAPIFactory.createWXAPI(getContext(), appId); WXLaunchMiniProgram.Req req = new WXLaunchMiniProgram.Req(); req.userName = App.WEIXIN_XIAOCHENGXU_ID; // 填小程序原始id req.path = "/pages/index/index"; //拉起小程序页面的可带参路径,不填默认拉起小程序首页 req.miniprogramType = WXLaunchMiniProgram.Req.MINIPROGRAM_TYPE_TEST;// 可选打开 0是正式 1是开发 2是体验版本 api.sendReq(req);
回调说明(接受小程序回传的参数)
if (resp.getType() == ConstantsAPI.COMMAND_LAUNCH_WX_MINIPROGRAM){ WXLaunchMiniProgram.Resp launchMiniProResp = (WXLaunchMiniProgram.Resp) resp; String extraData =launchMiniProResp.extMsg; //对应小程序组件 <button open-type="launchApp"> 中的 app-parameter 属性 Log.e("log",extraData); }
好的,基本上就差不多了,如有问题还希望多指正
哥 哥 哥 哥
------------------------------------------------------------------------------------------------------------------------------------------------
补一句,一定要看清楚注释
String appId = App.WX_APP_ID; // 填应用AppId
IWXAPI api = WXAPIFactory.createWXAPI(this, appId);
这边填的是拉起小程序的app的appid
req.userName = App.WEIXIN_XIAOCHENGXU_ID; // 填小程序原始id
填的是小程序原始id 不是appid注意!!一定要注意
这样子 是不是解决了调起失败的问题?!