刚刚完成今天功能需求而记录的一个工作需求功能:APP调起指定小程序,读者比较喜欢有图看效果,再看内容.本文涉及点比较多,1,微信SDK集成 2,微信小程序开发
一,需求
1,早上刚做的新需求,从我们客户端跳转到我们产品旗下的指定小程序,即APP拉起指定小程序
备注:其实在4月份上面就提出这个的需求,那时博主翻了一遍微信开放平台,没找到,只能邮件官方,官方给的回复:暂未开放该类接口申请渠道,敬请关注开放平台官网公告信息,感谢支持!
二,知识点范围
默认读者手头有微信开放平台注册账号,移动开发应用,小程序 (有者可跳过第二点,直接进入主题)
读者如没接入过微信SDK(小程序等),可快速浏览微信开放文档
博主简单概述微信开放平台步骤如下:
注册微信开放平台账号:微信开放平台
登录后再管理中心-移动应用-创建移动应用(详细步骤读者看看文档应该比博主理解的更快的)
注意应用的AppId,签名与包名即可(下载微信的获取签名工具,这里博主踩过坑,扶我起来接着写)
三,代码(全)
CallProgramAcitivity页面博主从项目中剥离出来的,单独写了的页面,完全满足需求与功能点
代码如下:
public class CallProgramAcitivity extends AppCompatActivity{
private Button mBt;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_callprogram);
mBt = findViewById(R.id.bt);
mBt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String appId = AppConfig.WEIXIN_APP_ID; // 填应用AppId
IWXAPI api = WXAPIFactory.createWXAPI(CallProgramAcitivity.this, appId);
WXLaunchMiniProgram.Req req = new WXLaunchMiniProgram.Req();
req.userName = AppConfig.WEIXIN_XIAOCHENGXU_ID; // 填小程序原始id
req.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">
<Button
android: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
@Override
public 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开发中文站”。