2025年Android开发之APP唤醒小程序,打开小程序,调起小程序以及传参数的实现方法(附加源码)

Android开发之APP唤醒小程序,打开小程序,调起小程序以及传参数的实现方法(附加源码)老套路咱们先看效果图 可以先看下官方文档介绍 微信官方文档 APP 打开小程序链接 我这边打开了 上面奔溃是因为模拟器不兼容的原因 主要讲解下打开小程序核心代码 填应用 AppId String appId 移动 APP 的 APPID IWXAPI

大家好,我是讯享网,很高兴认识大家。

老套路咱们先看效果图:


讯享网

 

可以先看下官方文档介绍:微信官方文档APP打开小程序链接

我这边打开了,上面奔溃是因为模拟器不兼容的原因:

主要讲解下打开小程序核心代码:

 // 填应用AppId String appId = "移动APP的APPID"; IWXAPI api = WXAPIFactory.createWXAPI(this, appId); WXLaunchMiniProgram.Req req = new WXLaunchMiniProgram.Req(); // 填小程序原始id req.userName = "小程序的id"; //拉起小程序页面的可带参路径,不填默认拉起小程序首页 // req.path = "拉起小程序页面的可带参路径"; // 可选打开 开发版,体验版和正式版 req.miniprogramType = WXLaunchMiniProgram.Req.MINIPROGRAM_TYPE_PREVIEW; api.sendReq(req);

讯享网

下面是小程序回调的方法

讯享网 @Override public void onResp(BaseResp resp) { if (resp.getType() == ConstantsAPI.COMMAND_LAUNCH_WX_MINIPROGRAM) { WXLaunchMiniProgram.Resp launchMiniProResp = (WXLaunchMiniProgram.Resp) resp; //对应小程序组件 <button open-type="launchApp"> 中的 app-parameter 属性 String extraData = launchMiniProResp.extMsg; } }

 

 

咱们来说下唤起小程序的步骤:

第一步:先在微信开放平台创建应用:打开微信开放平台

 

 

创建应用后再应用详情里面配置android端的签名和包名信息(包名一定要是打开小程序的APP所在的包名)

获取APP签名信息可查看我上一篇文章:APP签名获取

ä¿®æ¹å¼åä¿¡æ¯

第二步:绑定要唤起的小程序

第三步:拿小程序的原始id和上面创建应用的AppId

然后在你要唤起小程序的APP里面添加唤起微信小程序的包:

implementation 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:5.3.1'

然后在唤起APP的方法里面加入唤起微信小程序以及传参数的代码:如下

参考的微信官方论坛:APP打开小程序传递参数的方法

讯享网 String appId = "移动APPAPPID"; IWXAPI api = WXAPIFactory.createWXAPI(this, appId); WXLaunchMiniProgram.Req req = new WXLaunchMiniProgram.Req(); // 填小程序原始id req.userName = "小程序id"; // 拉起小程序页面的可带参路径,不填默认拉起小程序首页 //req.path = "拉起小程序页面的可带参路径"; // 问号后面的memberId=1&mobile=就是参数 req.path = "pages/productSort/productSort?memberId=1&mobile="; // 可选打开 开发版,体验版和正式版 req.miniprogramType = WXLaunchMiniProgram.Req.MINIPROGRAM_TYPE_PREVIEW; api.sendReq(req);

然后看下小程序的回调方法(前提是小程序写了回调方法给APP)

 @Override public void onResp(BaseResp resp) { if (resp.getType() == ConstantsAPI.COMMAND_LAUNCH_WX_MINIPROGRAM) { WXLaunchMiniProgram.Resp launchMiniProResp = (WXLaunchMiniProgram.Resp) resp; //对应小程序组件 <button open-type="launchApp"> 中的 app-parameter 属性 String extraData = launchMiniProResp.extMsg; } }

说下坑:如下图

原因:因为用的是体验版,所登的微信账号无体验权限。 解决方案:管理员给该账户体验权限,用该小程序有体验权限的账号测试

 

跳转小程序失败:如下图

我这边也遇到了,我出现的原因是因为我的APPID填写错了,应该填写创建移动应用的APPid而不是小程序的APPID

源码下载:GitHub地址

再次感谢网友提供经验:网友经验1 网友经验2

小讯
上一篇 2025-03-23 11:45
下一篇 2025-01-18 23:17

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/58830.html