项目中需要通过点击APP的一个按钮,直接打开微信指定的微信小程序
一、首先搭建微信开发环境,集成微信SDK
微信SDK下载链接
二、在点击事件中,添加代码
public void onClick(View v){
String appId = "填应用AppId";
IWXAPI api = WXAPIFactory.createWXAPI(context, appId);
WXLaunchMiniProgram.Req req = new WXLaunchMiniProgram.Req();
req.userName = "填小程序原始id";
//req.path = path; //拉起小程序页面的可带参路径,不填默认拉起小程序首页,对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar"。
req.miniprogramType = WXLaunchMiniProgram.Req.MINIPTOGRAM_TYPE_RELEASE;// 可选打开 开发版,体验版和正式版
api.sendReq(req);
}
三、在项目 包名/wxapi 下新建一个WXEntryActivity名字不能变,并在AndroidManifest.xml中添加如下代码
android:name=".WXEntryActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:exported="true"
android:taskAffinity="包名"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
四、在WXEntryActivity的onResp(BaseResp resp)回调方法中判断结果
@Override
public void onResp(BaseResp resp) {
if (resp.getType() == MAND_LAUNCH_WX_MINIPROGRAM) {
WXLaunchMiniProgram.Resp launchMiniProResp = (WXLaunchMiniProgram.Resp) resp;
String extraData = launchMiniProResp.extMsg; //对应小程序组件 中的 app-parameter 属性
//LogUtils.i("extraData:"+extraData);
//LogUtils.i("errStr:"+launchMiniProResp.errStr);
//LogUtils.i("errCode:"+launchMiniProResp.errCode);
}
}
重点问题