作者:燕歆波
导读:在app中实现点击按钮打开小程序页面!
步骤
- 在微信开发平台提交审核自己的移动应用。https://open.weixin.qq.com/
- 审核通过后,在应用列表中的状态是“已通过”,然后点击查看,在详情页面
点击查看关联,根据提示完成对小程序的绑定; - 绑定成功后,参考官方文档:https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=21526646437Y6nEC&token=5b0bc14313142258c71f63c100646a56c3c2adaf&lang=zh_CN
- 官方文档给出了跳转小程序的参考代码,也可以下载官方demo(官方demo为与微信交互,并未看到小程序)
public static void openMiNi(String ysId, String path){
// 填Android应用AppId
String appId = "cccccccccccccc";移动应用审核厚得到的appid
final IWXAPI iwxapi = WXAPIFactory.createWXAPI(MyApplication.applicationContext, appId);
iwxapi.registerApp(appId);
WXLaunchMiniProgram.Req req = new WXLaunchMiniProgram.Req();
req.userName = ysId;//小程序原始id
req.path = path;//页面路径 pages/index/index?page=1
req.miniprogramType = WXLaunchMiniProgram.Req.MINIPTOGRAM_TYPE_RELEASE;// 可选打开 开发版,体验版和正式版
iwxapi.sendReq(req);
}
5、小程序返回App的时候,通过navigateBackApplication来关闭,然后在WXEntryActivity重写onResp方法,拿到小程序返回的数据,参考官方文档:
//小程序返回数据
f1: function (e) {
wx.navigateBackApplication({
"extraData":"传递到app的数据"
})
}
App接收数据
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 属性
}
}