刚刚完成今天功能需求而记录的一个工作需求功能:APP调起指定小程序,读者比较喜欢有图看效果,再看内容.本文涉及点比较多,1,微信SDK集成 2,微信小程序开发

一,需求

1,早上刚做的新需求,从我们客户端跳转到我们产品旗下的指定小程序,即APP拉起指定小程序

备注:其实在4月份上面就提出这个的需求,那时博主翻了一遍微信开放平台,没找到,只能邮件官方,官方给的回复:暂未开放该类接口申请渠道,敬请关注开放平台官网公告信息,感谢支持!

二,知识点范围

默认读者手头有微信开放平台注册账号,移动开发应用,小程序  (有者可跳过第二点,直接进入主题)

读者如没接入过微信SDK(小程序等),可快速浏览微信开放文档
博主简单概述微信开放平台步骤如下:

注册微信开放平台账号:微信开放平台

登录后再管理中心-移动应用-创建移动应用(详细步骤读者看看文档应该比博主理解的更快的)

注意应用的AppId,签名与包名即可(下载微信的获取签名工具,这里博主踩过坑,扶我起来接着写)

三,代码(全)

CallProgramAcitivity页面博主从项目中剥离出来的,单独写了的页面,完全满足需求与功能点
代码如下:

public class CallProgramAcitivity extends AppCompatActivity{

private Button mBt;

@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_callprogram);

mBt = findViewById(R.id.bt);mBt.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {String appId = AppConfig.WEIXIN_APP_ID; // 填应用AppIdIWXAPI api = WXAPIFactory.createWXAPI(CallProgramAcitivity.this, appId);

WXLaunchMiniProgram.Req req = new WXLaunchMiniProgram.Req();req.userName = AppConfig.WEIXIN_XIAOCHENGXU_ID; // 填小程序原始idreq.path = "/pages/home/home?kx=kxx";                  //拉起小程序页面的可带参路径,不填默认拉起小程序首页req.miniprogramType = WXLaunchMiniProgram.Req.MINIPTOGRAM_TYPE_RELEASE;// 可选打开 开发版,体验版和正式版api.sendReq(req);}});}
}

页面对应布局activity_callprogram.xml

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="match_parent"android:layout_height="match_parent">

<Buttonandroid:id="@+id/bt"android:text="APP调起指定小程序"android:layout_width="match_parent"android:layout_height="wrap_content"/>

</RelativeLayout>

注意添加微信依赖库   在APP build.gradle
官方文档:微信官方文档

    //wechat 分享登录收藏支付等//    compile 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:+'compile 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:+'

注意  添加文件wxapi   下添加WXEntryActivity

    @Overridepublic void onResp(BaseResp baseResp) {//2018/8/29 App调起小程序if(baseResp.getType() == ConstantsAPI.COMMAND_LAUNCH_WX_MINIPROGRAM) {WXLaunchMiniProgram.Resp launchMiniProResp = (WXLaunchMiniProgram.Resp) baseResp;String extraData =launchMiniProResp.extMsg; //对应小程序组件 <button open-type="launchApp"> 中的 app-parameter 属性}
}

原文发布时间为:2018-10-9

本文来自云栖社区合作伙伴“Android开发中文站”,了解相关信息可以关注“Android开发中文站”。

Android APP调起小程序相关推荐

  1. android开机自动打开微信小程序,Android APP拉起小程序界面 (微信未启动 打不开)...

    官方地址 开发前需下载Android开发工具包(SDK),可前往下载 调用接口:WXLaunchMiniProgram 移动应用跳转到小程序示例: String appId = "wxd93 ...

  2. android分享分享到朋友圈图片,android app分享微信小程序(包含封面网络图片)+图片到朋友圈...

    A 分享微信小程序效果: image.png 实现代码 //第一步通过url拿网络图片并生成bitmap val path = "分享小程序某个界面包含传参数" if (!Text ...

  3. 华为Android 10手机微信小程序无法调起的问题解决办法

    最近测试小程序发现华为Android 10手机微信小程序无法调起.网上查了一下有很多人都有类似的情况.于是开始排查自己,发现自己的小程序没有问题,是华为手机的一个系统特性. 解决办法: 1. 检查微信 ...

  4. Android 从app中调起小程序(必成)!!!

    没看官方文档的,一定看这篇啊,血泪教训啊!!! 第一步 : 先去开放平台做一个app和小程序的绑定(很重要)如图: 如果是同一个账号下的(app和小程序是同一个账号)则不需要绑定(官方文档这样写的,但 ...

  5. 一款App基于mPaaS小程序如何进行改造?

    这篇故事围绕着一款 App 基于 mPaaS 小程序进行改造娓娓展开. 作为国内校园服务场景最丰富的平台,笑联 App 已覆盖国内 130 所高校,服务近百万高校学生. 截止目前,笑联 App 内的 ...

  6. python人脸检测与微信小程序_python+requests对app和微信小程序进行接口测试

    对于web端和app端的接口测试来说,他们都是通过请求方法,url和传递的body参数进行接口请求,区别web和app的区别就是header请求的不同.不同的地方在于header中的User-Agen ...

  7. python+requests对app和微信小程序进行接口测试

    对于web端和app端的接口测试来说,他们都是通过请求方法,url和传递的body参数进行接口请求,区别web和app的区别就是header请求的不同.不同的地方在于header中的User-Agen ...

  8. python扫描app接口_[分享】python+requests对app和微信小程序进行接口测试

    对于web端和app端的接口测试来说,他们都是通过请求方法,url和传递的body参数进行接口请求,区别web和app的区别就是header请求的不同.不同的地方在于header中的User-Agen ...

  9. json 微信小程序 筛选_GitHub - zhengyangkang/sl-filter: uni -app 一款使用简单的筛选组件,适配app、微信小程序、H5。...

    sl-filter 筛选 筛选组件,组件名:sl-filter dcloud插件市场地址 sl-filter 简介 一款使用简单的筛选组件,适配app.微信小程序.H5. 感谢分享 效果图 并列菜单 ...

最新文章

  1. os.path.join的妙用
  2. MyBatis-Plus 高级功能 —— 实现逻辑删除
  3. (一看就懂)傅里叶变换、拉普拉斯变换、Z变换、卷积的经典文章汇总
  4. RMS-DC转换器AD8436
  5. 无需担心架构演变 入云的Teradata无处不在
  6. python ant_python3.7.1ant+TKinter在Tkin中显示来自ANT+设备的实时数据
  7. mplfinance画k线图_华尔街交易王:真正短线高手是寻找60分钟K线中的“牛股”
  8. [MS-SHLLINK]: Shell Link (.LNK) Binary File Format
  9. 在word中输入带圈数字序号的方法总结
  10. 【CS224N-2019】斯坦福CS224N-2019自然语言处理----作业详解
  11. make px4_sitl gazebo报错:FAILED: ROMFS/romfs_extract.stamp
  12. 数据不符合正态分布怎么处理呢
  13. centos linux引导修复_Linux 引导修复
  14. Flutter系列五:State的生命周期
  15. 饥荒服务器物品指令,流年饥荒控制台指令全+物品大全+服务器管理命令大全.docx...
  16. 关于Intriguing properties of neural networks的理解
  17. Element-UI(一) 表格table中实现“加载更多”的功能
  18. CVPR 2021最佳论文奖的候选名单,华人占据半壁江山,何恺明、陶大程、沈春华等人上榜义目录标题)
  19. springboot+vue jwt校验token 单点登录
  20. 简易五子棋游戏(控制台版)

热门文章

  1. JDBC规范——(3)新特性
  2. 说说如何在项目中引入 jBPM4 工作流框架以及遇到的坑儿
  3. ANSYS附加动水质量(westergarrd公式)
  4. Vue3封装通用svg组件
  5. ETL工具KETTLE常用设计之——作业设计思路模板
  6. 关于剪枝对象的分类(weights剪枝、神经元剪枝、filters剪枝、layers剪枝、channel剪枝、对channel分组剪枝、Stripe剪枝)
  7. 3559A sample hifb解析
  8. PDF文档如何用关键字精确查找?
  9. STM32的USART串口通信
  10. 关于Eclipes上Servlet程序404的问题