添加入微信分享功能其实很简单,但是一不注意还是会碰到一些坑!
微信分享平台API下载 https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419319167&token=39a3ec8c1bfe9fbf983d9b9cb44421f5b622851d&lang=zh_CN
先讲一下大致的流程:
- 先申请一个开发者账户
- 创建你的应用,填写应用签名的时候一定要注意!应用签名指的是MD5码,一般我们的集成开发环境(Eclipse、Android Studio)给出的MD5码都带了冒号且为大写,要去掉冒号并转为小写,否则出现 分享无反应 。例如:
A7:D6:9B:69:A7:15:62:7B:0C:89:C7:2C:A5:90:A6:A4
转换为
a7d69b69a715627b0c89c72ca590a6a4
最后等待应用申请通过。
引入开发
官网帮助文档中已经讲得很清楚了,但是在构建分享代码的时候要注意一个问题,以分享一个网页为例。
private void shareToweixin(int flag) {
if (!api.isWXAppInstalled()) {
Toast.makeText(WXEntryActivity.this, "您还未安装微信客户端",
Toast.LENGTH_SHORT).show();
return;
}
WXWebpageObject webpage = new WXWebpageObject();
webpage.webpageUrl = "www.google.com";
WXMediaMessage msg = new WXMediaMessage(webpage);
msg.title = "谷歌主站";
msg.description = “谷歌公司(Google Inc.)成立于1998年9月4日,由拉里·佩奇和谢尔盖·布林共同创建,被公认为全球最大的搜索引擎。”
Bitmap thumb = BitmapFactory.decodeResource(getResources(),R.drawable.weixin_share);
msg.setThumbImage(thumb);
SendMessageToWX.Req req = new SendMessageToWX.Req();
req.transaction = String.valueOf(System.currentTimeMillis());
req.message = msg;
req.scene = flag;
api.sendReq(req);
}
Bitmap thumb = BitmapFactory.decodeResource(getResources(),R.drawable.weixin_share);
上面的这段代码中一定要注意 weixin_share 这个图片一定要尽可能地小,官方是说这个图片不能大于32k,实时上应该是thumb 这个数组不能大于32k,同时打印一下 thumb 这个数组的长度,大于 32768 可能就会出现分享一闪而过的情况。