本文主要介绍自己在使用微信SDK过程遇到的一些坑,如:分享时各部分大小限制等,本文持续更新…
分享链接
WXWebpageObject webpage = new WXWebpageObject();
webpage.webpageUrl = result.link;
WXMediaMessage msg = new WXMediaMessage(webpage);
msg.title = result.title;
msg.description = result.desc;
msg.thumbData = thumbData;
SendMessageToWX.Req req = new SendMessageToWX.Req();
req.transaction = buildTransaction("webpage");
req.message = msg;
if (share2WX) {
req.scene = SendMessageToWX.Req.WXSceneSession; // 分享到微信
} else {
req.scene = SendMessageToWX.Req.WXSceneTimeline; // 分享到朋友圈
}
IWXAPI msgApi = getApi(context, APP_ID);
msgApi.sendReq(req);
*注意:***sendReq方法是有返回值的,返回值类型为boolean,如果返回false,则表明分享失败,返回true,则表明分享成功。
案例:达人店1.0.2.2版本 分享店铺-分享到微信好友 经常调不出微信页面,导致分享失败,但是 商品详情页-分享商品 正常。
分析:经过对比发现,只有 thumbData 即 图片 有 大小 的差异,经过Logcat发现 前者 分享图片是用户头像,浏览器打开显示图片大小约为700k,后者 分享图片是商品图,浏览器打开显示图片大小约为150k,所以可以得出分享到微信是图片大小限制的。注意:浏览器打开显示图片的大小并非为thumbData的大小。
解决:通过 谷歌 百度 得知 thumbData 不能大于 32k,我们只要以此压缩图片就行了。
附
由于网上很难搜索到Android相关的微信分享API地址,这里我就写一下从哪里可以找到(PS:之前找到过网址,后来好像又失效了,还是自己丢了。。。):
- 打开Android资源下载页面
- 下载Android开发工具包
- 如果链接失效(基本不可能),可以从此处下载:Android_SDK_3.1.1.zip
由于API中非常详细的写明了很多参数的大小限制,建议开发者仔细查看。
相关链接
解决微信分享图片,网址失效的Bug – 不完美解决:http://blog.csdn.net/h3c4lenovo/article/details/10103057