Android开发之APP唤醒小程序,打开小程序,调起小程序以及传参数的实现方法(附加源码)
老套路咱们先看效果图:
可以先看下官方文档介绍:微信官方文档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唤醒小程序,打开小程序,调起小程序以及传参数的实现方法(附加源码)相关推荐
- Android开发之APP直播简介
随着网络技术的迅猛发展,网络直播已不再遥不可及.各行各业以直播为基础的应用场景更是如雨后春笋,遍地开花,相关数据也显示,无论是国内还是国外,市场需求层出不穷,不仅包含视频门户.视频社交.在线教育.娱乐 ...
- Android开发之APP打开小程序后小程序无法返回APP,无法打开APP,launchApp无法返回app的原因
Android打开小程序可以看我上篇文章介绍:Android打开小程序 我这边已经成功打开小程序了参数也传递过去了,现在就是无论如何点击返回APP都没有反应,也没用走微信页面WXEntryActivi ...
- Android开发之App拍照系统相册展示
需求:客户提出一个需求,App拍照的照片需要直接在系统相册中可以查看得到. 解决方案: 第一次尝试:刚开始想到的是网上这三种方式:http://blog.csdn.net/qq_34157407/ar ...
- android 统计app使用时间,android开发之app在线时长统计sdk开发
引言: 很多app的在线时长统计都是通过在activity的生命周期中埋点来完成的.我这里既然是封装成sdk,当然就不能这样来了.封装sdk的规则,我想大家都清楚,入参尽量少,回调尽量全,权限尽量不要 ...
- Android开发之App支付功能实现及踩坑
支付宝支付实现 1.正规支付实现 前提条件: 1. 企业或个体工商户可申请,且账号通过支付宝实名认证审核 2. 需提供真实有效的营业执照,且支付宝账户名称需与营业执照主体一致: 3. 提供APP名称或 ...
- android中oncreate方法,android开发之onCreate( )方法详解
这里我们只关注一句话:This is where you should do all of your normal static set up.其中我们只关注normal static, normal ...
- android开发之Intent.setFlags()_让Android点击通知栏信息后返回正在运行的程序
android开发之Intent.setFlags()_让Android点击通知栏信息后返回正在运行的程序 在应用里使用了后台服务,并且在通知栏推送了消息,希望点击这个消息回到activity, ...
- android 控制app声音,Android底层开发之APP音量单独控制
Android底层开发之APP音量单独控制 目前Android的音乐播放软件都的音量控制都是随着系统的总Master音量变化的.想要实现和windows中一样,每个APP的媒体音量可以单独控制. 控制 ...
- Android开发之旅:应用程序基础及组件
--成功属于耐得住寂寞的人,接下来几篇将讲述Android应用程序的原理及术语,可能会比较枯燥.如果能够静下心来看,相信成功将属于你. 引言 为了后面的例子做准备,本篇及接下来几篇将介绍Android ...
最新文章
- 谷歌json插件_程序员必备的4款Chrome插件,妥妥的神器!
- 浅析MySQL InnoDB的隔离级别
- java 并发包学习_Java学习笔记—多线程(java.util.concurrent并发包概括,转载)
- 保护模式及其编程——8086系统寄存器和系统指令
- 平方剩余(例题+详解+代码模板)
- 【JS】call,apply,bind
- 魔兽争霸修改器,局域网内使用!防封号!!!!!!!!
- python生成双层pdf
- Windows下使用mingw32
- c++学习 | MFC —— 控件介绍
- Codeforces--1311A--Duff and Weight Lifting
- mb.php js 劫持,黑帽seo防止网站被k的js劫持跳转代码
- nu.xom:Element
- 做了一个网页版的串口调试助手
- 雕刻效果的实现【OpenCV+QT】
- uva1601(The morning after Helloween)解题报告
- 【爬虫】01-爬斗鱼妹子图
- mysql 面试题 查出每门课程成绩都不低于80分同学的名字
- 计算机基础教学的建议,关于《计算机应用基础》教学的建议
- 生活随笔: 又到了高考后选择期
热门文章
- 过滤器用到了java哪个模式_设计模式之过滤器模式——Java语言描述
- 斜齿轮啮合 matlab,渐开线斜齿轮曲面精确建模及MatLab仿真
- 怎么读取mysql库绘制柱状图_从数据库中取出最近三十天的数据并生成柱状图
- c 语言注释格式化,linux 格式化C语言的源文件 命令:indent
- c iostream.源码_通达信《牛气冲天》指标,共振主升浪冲涨停,牛散经常用(附源码...
- 20220130---CTF WEB方向刷题WP-----网页初始index.php/robots.txt
- CAD批量提取数值lisp插件_一键批量提取CAD填充图案边界线
- 堆(Heap)大根堆、小根堆
- JavaScript三种创建构造函数的方式
- 《程序员修炼之道》笔记(一)