在项目中集成微信分享功能,分享的是一个链接,带有图片和标题。按照微信开放平台网页类型分享示例,进行代码编写,但是点击分享始终后缩略图始终不出来但是加载本地的可以出来(蛋疼)。
根据以上几个问题进行检查:
(1)微信客户端确定是已经安装的了
(2)因为之前已经集成了微信的登录功能了,所以签名和包名也可以确定是正确的。
前两个原因排除了,那么第三个发送的缩略图超过32K可能是导致缩略图不显示的原因。
在项目的代码中是直接将从服务器请求到的图片数据进行分享,并没有对图片做任何处理。于是在网上找到了一个图片压缩工具类,在图片超过32K的时候对图片进行压缩。
果然缩略图成功分享出来了。
下面是缩略图代码:
```
/** * Bitmap转换成byte[]并且进行压缩,压缩到不大于maxkb *@parambitmap *@paramIMAGE_SIZE *@return*/publicstaticbyte[]bitmap2Bytes(Bitmap bitmap,intmaxkb) {
ByteArrayOutputStream output =newByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG,100, output);intoptions =100;while(output.toByteArray().length > maxkb&& options !=10) {
output.reset();//清空outputbitmap.compress(Bitmap.CompressFormat.JPEG, options, output);//这里压缩options%,把压缩后的数据存放到output中options -=10;
}returnoutput.toByteArray();
}
```
总结: