老套路咱们先看效果图:

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

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

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

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

下面是小程序回调的方法

 @Overridepublic 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();// 填小程序原始idreq.userName = "小程序id";
//      拉起小程序页面的可带参路径,不填默认拉起小程序首页//req.path = "拉起小程序页面的可带参路径";
//      问号后面的memberId=1&mobile=13711111111就是参数req.path = "pages/productSort/productSort?memberId=1&mobile=13711111111"; // 可选打开 开发版,体验版和正式版req.miniprogramType = WXLaunchMiniProgram.Req.MINIPROGRAM_TYPE_PREVIEW;api.sendReq(req);

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

 @Overridepublic 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

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

  1. Android开发之APP直播简介

    随着网络技术的迅猛发展,网络直播已不再遥不可及.各行各业以直播为基础的应用场景更是如雨后春笋,遍地开花,相关数据也显示,无论是国内还是国外,市场需求层出不穷,不仅包含视频门户.视频社交.在线教育.娱乐 ...

  2. Android开发之APP打开小程序后小程序无法返回APP,无法打开APP,launchApp无法返回app的原因

    Android打开小程序可以看我上篇文章介绍:Android打开小程序 我这边已经成功打开小程序了参数也传递过去了,现在就是无论如何点击返回APP都没有反应,也没用走微信页面WXEntryActivi ...

  3. Android开发之App拍照系统相册展示

    需求:客户提出一个需求,App拍照的照片需要直接在系统相册中可以查看得到. 解决方案: 第一次尝试:刚开始想到的是网上这三种方式:http://blog.csdn.net/qq_34157407/ar ...

  4. android 统计app使用时间,android开发之app在线时长统计sdk开发

    引言: 很多app的在线时长统计都是通过在activity的生命周期中埋点来完成的.我这里既然是封装成sdk,当然就不能这样来了.封装sdk的规则,我想大家都清楚,入参尽量少,回调尽量全,权限尽量不要 ...

  5. Android开发之App支付功能实现及踩坑

    支付宝支付实现 1.正规支付实现 前提条件: 1. 企业或个体工商户可申请,且账号通过支付宝实名认证审核 2. 需提供真实有效的营业执照,且支付宝账户名称需与营业执照主体一致: 3. 提供APP名称或 ...

  6. android中oncreate方法,android开发之onCreate( )方法详解

    这里我们只关注一句话:This is where you should do all of your normal static set up.其中我们只关注normal static, normal ...

  7. android开发之Intent.setFlags()_让Android点击通知栏信息后返回正在运行的程序

    android开发之Intent.setFlags()_让Android点击通知栏信息后返回正在运行的程序   在应用里使用了后台服务,并且在通知栏推送了消息,希望点击这个消息回到activity, ...

  8. android 控制app声音,Android底层开发之APP音量单独控制

    Android底层开发之APP音量单独控制 目前Android的音乐播放软件都的音量控制都是随着系统的总Master音量变化的.想要实现和windows中一样,每个APP的媒体音量可以单独控制. 控制 ...

  9. Android开发之旅:应用程序基础及组件

    --成功属于耐得住寂寞的人,接下来几篇将讲述Android应用程序的原理及术语,可能会比较枯燥.如果能够静下心来看,相信成功将属于你. 引言 为了后面的例子做准备,本篇及接下来几篇将介绍Android ...

最新文章

  1. 谷歌json插件_程序员必备的4款Chrome插件,妥妥的神器!
  2. 浅析MySQL InnoDB的隔离级别
  3. java 并发包学习_Java学习笔记—多线程(java.util.concurrent并发包概括,转载)
  4. 保护模式及其编程——8086系统寄存器和系统指令
  5. 平方剩余(例题+详解+代码模板)
  6. 【JS】call,apply,bind
  7. 魔兽争霸修改器,局域网内使用!防封号!!!!!!!!
  8. python生成双层pdf
  9. Windows下使用mingw32
  10. c++学习 | MFC —— 控件介绍
  11. Codeforces--1311A--Duff and Weight Lifting
  12. mb.php js 劫持,黑帽seo防止网站被k的js劫持跳转代码
  13. nu.xom:Element
  14. 做了一个网页版的串口调试助手
  15. 雕刻效果的实现【OpenCV+QT】
  16. uva1601(The morning after Helloween)解题报告
  17. 【爬虫】01-爬斗鱼妹子图
  18. mysql 面试题 查出每门课程成绩都不低于80分同学的名字
  19. 计算机基础教学的建议,关于《计算机应用基础》教学的建议
  20. 生活随笔: 又到了高考后选择期

热门文章

  1. 过滤器用到了java哪个模式_设计模式之过滤器模式——Java语言描述
  2. 斜齿轮啮合 matlab,渐开线斜齿轮曲面精确建模及MatLab仿真
  3. 怎么读取mysql库绘制柱状图_从数据库中取出最近三十天的数据并生成柱状图
  4. c 语言注释格式化,linux 格式化C语言的源文件 命令:indent
  5. c iostream.源码_通达信《牛气冲天》指标,共振主升浪冲涨停,牛散经常用(附源码...
  6. 20220130---CTF WEB方向刷题WP-----网页初始index.php/robots.txt
  7. CAD批量提取数值lisp插件_一键批量提取CAD填充图案边界线
  8. 堆(Heap)大根堆、小根堆
  9. JavaScript三种创建构造函数的方式
  10. 《程序员修炼之道》笔记(一)