在wxapi中的WXEntryActivity
/发送到微信请求的响应结果
@Override
public void onResp(BaseResp resp) {
int result = 0;
if (resp.getType() == ConstantsAPI.COMMAND_LAUNCH_WX_MINIPROGRAM) {
WXLaunchMiniProgram.Resp launchMiniProResp = (WXLaunchMiniProgram.Resp) resp;
String extraData =launchMiniProResp.extMsg; //对应小程序组件 <button open-type="launchApp"> 中的 app-parameter 属性
}
finish();
}
在MainActivity中
/**
唤起微信小程序
@username 填小程序原始id
*@path 拉起小程序页面的可带参路径,不填默认拉起小程序首页
@miniprogramType miniprogramtype 0是正式 1是开发 2是体验版本
*/
public void BringUp(){
String appId = WX_APP_ID; // 填应用AppId
IWXAPI api = WXAPIFactory.createWXAPI(this, appId);
WXLaunchMiniProgram.Req req = new WXLaunchMiniProgram.Req();
req.userName = "gh_a3a55b54eefe"; // 填小程序原始id
req.path = "pages/welcome/index?key=webview"; 拉起小程序页面的可带参路径,不填默认拉起小程序首页,对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar"。
req.miniprogramType = WXLaunchMiniProgram.Req.MINIPTOGRAM_TYPE_RELEASE;// 可选打开 开发版,体验版和正式版
api.sendReq(req);
}
@JavascriptInterface
public void OnApp( ){
BringUp();
}
在H5代码中调用
try {
if (this.isAndroid) {
this.$toast("发起授权");
window.JsAnd.OnApp();
} else {
this.$toast("发起授权");
window.webkit.messageHandlers.loginWx.postMessage({ value: 0 });
}
} catch (error) {
this.$toast(error + "");
}