Android关于微信小程序的唤起和分享
2018-11-30 本文已影响55人
静默加载
个人博客地址 http://dandanlove.com/
最近做了一些有关于微信小程序的项目,涉及了微信小程序的唤起和分享微信小程序。
所有的内容都来源于 微信开放平台
public class WXProxy {
private IWXAPI mShareAPI;
/**
* 构造为api
* @param context 上下文环境
* @param isPublic 微信公众账号的key,还是微信登录的key
*/
public WXProxy(Context context, boolean isPublic) {
mContext = context.getApplicationContext();
mShareAPI = WXAPIFactory.createWXAPI(mContext, isPublic ? Config.APP_PUBLIC_KEY : Config.APP_KEY);
}
/**
* 唤起微信小程序
* @param username 填小程序原始id
* @param path 拉起小程序页面的可带参路径,不填默认拉起小程序首页
* @param type miniprogramtype 0是正式 1是开发 2是体验版本
*/
public void launchMiniProgram(String username, String path, int type) {
final WXLaunchMiniProgram.Req req = new WXLaunchMiniProgram.Req();
req.userName = username;
req.path = path;
req.miniprogramType = type;
mShareAPI.sendReq(req);
}
//分享微信小程序
private void shareMiniProgramObject(WxMiniInfo info, final int platform) {
WXMiniProgramObject miniProgramObj = new WXMiniProgramObject();
miniProgramObj.webpageUrl = info.getWebpageUrl(); // 兼容低版本的网页链接
miniProgramObj.miniprogramType = info.getMiniprogramType();// 正式版:0,测试版:1,体验版:2
miniProgramObj.userName = info.getUserName(); // 小程序原始id
miniProgramObj.path = info.getPath(); //小程序页面路径
final WXMediaMessage msg = new WXMediaMessage(miniProgramObj);
msg.title = info.getTitle(); // 小程序消息title
msg.description = info.getDescription(); // 小程序消息desc
msg.thumbData = getThumb(); // 小程序消息封面图片,小于128k(必传)
SendMessageToWX.Req req = new SendMessageToWX.Req();
req.transaction = buildTransaction("webpage"); // transaction字段用于唯一标识一个请求
req.message = msg;
req.scene = SendMessageToWX.Req.WXSceneSession;
mShareAPI.sendReq(req);
}
}
当然在开发和调试的时候也遇到了一些问题:
error00这个错误可能是由于创建 IWXAPI
实例的 APP_KEY
没有和小程序进行绑定,
WXAPIFactory.createWXAPI(mContext, isPublic ? Config.APP_PUBLIC_KEY : Config.APP_KEY);
一般我们申请两个微信的秘钥,一个用来做登录,一个用来做公共账号授权。小程序需要的是微信公众账号的秘钥。
这个是传递的参数有问题,小程序的参数都必传的。
文章到这里就全部讲述完啦,若有其他需要交流的可以留言哦!!
想阅读作者的更多文章,可以查看我 个人博客 和公共号:
振兴书城