29、Android 微信分享checkArgs fail, thumbData is invalid
来源:互联网 发布:装备dbc数据txt下载 编辑:程序博客网 时间:2024/06/08 06:38
一、问题现象
在做微信分享功能时,分享网页加缩略图时,点击分享一直没反应。经过查看日志
checkArgs fail, thumbData is invalid 出现这样的一个错误提示。
二、原因分析
经过百度一番:原来微信对缩略图的大小进行了限制。超过32K 就会报参数错误!
final boolean checkArgs() {
if(this.getType() != 8 || this.thumbData != null && this.thumbData.length != 0) { if(this.getType() == 36 && (this.thumbData == null || this.thumbData.length > 131072)) { Log.e("MicroMsg.SDK.WXMediaMessage", "checkArgs fail, thumbData should not be null or exceed 128kb"); return false; } else if(this.getType() != 36 && this.thumbData != null && this.thumbData.length > '耀') { Log.e("MicroMsg.SDK.WXMediaMessage", "checkArgs fail, thumbData is invalid"); return false; } else if(this.title != null && this.title.length() > 512) { Log.e("MicroMsg.SDK.WXMediaMessage", "checkArgs fail, title is invalid"); return false; } else if(this.description != null && this.description.length() > 1024) { Log.e("MicroMsg.SDK.WXMediaMessage", "checkArgs fail, description is invalid"); return false; } else if(this.mediaObject == null) { Log.e("MicroMsg.SDK.WXMediaMessage", "checkArgs fail, mediaObject is null"); return false; } else if(this.mediaTagName != null && this.mediaTagName.length() > 64) { Log.e("MicroMsg.SDK.WXMediaMessage", "checkArgs fail, mediaTagName is too long"); return false; } else if(this.messageAction != null && this.messageAction.length() > 2048) { Log.e("MicroMsg.SDK.WXMediaMessage", "checkArgs fail, messageAction is too long"); return false; } else if(this.messageExt != null && this.messageExt.length() > 2048) { Log.e("MicroMsg.SDK.WXMediaMessage", "checkArgs fail, messageExt is too long"); return false; } else { return this.mediaObject.checkArgs(); } } else { Log.e("MicroMsg.SDK.WXMediaMessage", "checkArgs fail, thumbData should not be null when send emoji"); return false; } }
三、解决方法
修改微信提供的方法:
public static byte[] bmpToByteArray(final Bitmap bmp, final boolean needRecycle) { ByteArrayOutputStream output = new ByteArrayOutputStream(); bmp.compress(Bitmap.CompressFormat.PNG, 100, output); if (needRecycle) { bmp.recycle(); } byte[] result = output.toByteArray(); try { output.close(); } catch (Exception e) { e.printStackTrace(); } return result; }
使用这个方法:注意要是还是不行 ----》 将100 调小!!! 至10 试试
localBitmap.compress(Bitmap.CompressFormat.JPEG, 100, localByteArrayOutputStream);
public static byte[] bmpToByteArray(final Bitmap bmp, final boolean needRecycle) { int i; int j; if (bmp.getHeight() > bmp.getWidth()) { i = bmp.getWidth(); j = bmp.getWidth(); } else { i = bmp.getHeight(); j = bmp.getHeight(); } Bitmap localBitmap = Bitmap.createBitmap(i, j, Bitmap.Config.RGB_565); Canvas localCanvas = new Canvas(localBitmap); while ( true) { localCanvas.drawBitmap(bmp, new Rect(0, 0, i, j), new Rect(0, 0,i, j), null); if (needRecycle) bmp.recycle(); ByteArrayOutputStream localByteArrayOutputStream = new ByteArrayOutputStream(); localBitmap.compress(Bitmap.CompressFormat.JPEG, 100, localByteArrayOutputStream); localBitmap.recycle(); byte[] arrayOfByte = localByteArrayOutputStream.toByteArray(); try { localByteArrayOutputStream.close(); return arrayOfByte; } catch (Exception e) { // F.out(e); } i = bmp.getHeight(); j = bmp.getHeight(); } }
阅读全文
0 0
- 29、Android 微信分享checkArgs fail, thumbData is invalid
- 微信分享失败之checkArgs fail, thumbData is invalid
- 微信分享图片checkArgs fail, thumbData is invalid的错误
- 微信分享出错问题,MicroMsg.SDK.WXMediaMessage: checkArgs fail, thumbData is invalid
- 微信分享图片报错checkArgs fail, thumbData is invalid
- 微信分享出错问题,MicroMsg.SDK.WXMediaMessage: checkArgs fail, thumbData is invalid
- E/MicroMsg.SDK.WXMediaMessage(17582): checkArgs fail, thumbData is invalid
- MicroMsg.SDK.WXMediaMessage: checkArgs fail, thumbData is invalid
- 微信支付jsApiParameter::{"return_code":"FAIL","return_msg":"invalid out_trade_no"}
- 微信支付部分问题总结(Config: invalid signature, chooseWXPay:fail)
- android微信分享
- Android 微信分享
- android微信分享
- Android: 微信分享
- Android微信分享
- android 微信分享
- Android 微信分享
- Android 微信分享
- Q-learning算法实现
- PTA-玩转二叉树
- Debian9:修改默认网卡为eth0,ifconfig
- Swift-CGRect,CGSize,CGPoint 使用
- 100. Same Tree
- 29、Android 微信分享checkArgs fail, thumbData is invalid
- Java面试知识点总结
- 从Android模拟器sdcard中导出文件
- 软键盘顶布局
- Android 特效
- PAT考试乙级1043(C语言实现)
- ThinkPHP3.2 关闭调试模式后的Bug补充
- js调用本地摄像头截图并用ajax上传至后台服务器完成交互
- Wdatepicker日期控件的使用指南