• 分享图片代码如下

  • bitmap.recycle() 资源被回收了,所以每次分享的bitmap必须是重新创建出来的

      /*** 微信图片分享** @param shareType {@link SendMessageToWX.Req#WXSceneSession} 分享给微信好友*                  {@link SendMessageToWX.Req#WXSceneTimeline} 分享给朋友圈*                  {@link SendMessageToWX.Req#WXSceneFavorite} 收藏*/public static void shareToWXImage(int shareType, @NonNull Bitmap bitmap, @NonNull OnShareListener listener) {if (checkWeChatShareInit(listener)) {WXMediaMessage msg = new WXMediaMessage();msg.mediaObject = new WXImageObject(bitmap);Bitmap thumbBmp = Bitmap.createScaledBitmap(bitmap, SHARE_THUMBNAIL_SIZE, SHARE_THUMBNAIL_SIZE, true);bitmap.recycle();msg.thumbData = Util.bmpToByteArray(thumbBmp, true);  // 设置缩略图SendMessageToWX.Req req = new SendMessageToWX.Req();req.transaction = buildTransaction("img");req.message = msg;req.scene = shareType;mWXApi.sendReq(req);}}
    
  • 分享的图片黑屏

  • 原因是图片透明部分不做处理就是黑色的,那块区域没有颜色

  • 方法是透明转白色

      /*** bitmap中的透明色用白色替换** @param bitmap* @return*/public static Bitmap changeColor(Bitmap bitmap) {if (bitmap == null) {return null;}int w = bitmap.getWidth();int h = bitmap.getHeight();int[] colorArray = new int[w * h];int n = 0;for (int i = 0; i < h; i++) {for (int j = 0; j < w; j++) {int color = getMixtureWhite(bitmap.getPixel(j, i));colorArray[n++] = color;}}return Bitmap.createBitmap(colorArray, w, h, Bitmap.Config.ARGB_8888);}/*** 获取和白色混合颜色** @return*/private static int getMixtureWhite(int color) {int alpha = Color.alpha(color);int red = Color.red(color);int green = Color.green(color);int blue = Color.blue(color);return Color.rgb(getSingleMixtureWhite(red, alpha), getSingleMixtureWhite(green, alpha),getSingleMixtureWhite(blue, alpha));}/*** 获取单色的混合值** @param color* @param alpha* @return*/private static int getSingleMixtureWhite(int color, int alpha) {int newColor = color * alpha / 255 + 255 - alpha;return newColor > 255 ? 255 : newColor;}
    

android微信分享图片踩坑之旅相关推荐

  1. vue中微信分享的踩坑之旅

    最近基于vue做一个h5的项目,里面涉及到微信分享,当时心里想着,这微信分享不是分分钟的事嘛,而且自己年初还做个一个项目,也实现了微信自定义分享,代码都是现成的,妥妥的放心. 上周二上午花了1个小时, ...

  2. android+怎么分享图片大小,Android微信分享图片大于32k进行压缩

    微信分享视频的时候,需要传一个图片数组,大小不能大于32k. 解决方案:使用Bitmap自带的compress方法解决了这个问题. 源码如下: package com.example.test; im ...

  3. android微信分享图片压缩,Android微信分享图片按质量压缩的解决方案

    一.杂谈 微信分享图片的迷之bug,前一阵子接盘一个Hybrid App,分享要用原生的分享,搞了一阵子把微信分享搞上,测试又反馈了一个谜一样的Bug,我这边看Log打印了checkArgs fail ...

  4. 微信小程序生成分享图片踩坑大计划

    微信小程序有个非常好的缺点,就是分享不能分享到朋友圈,怎么办呢,那只好生成图片,图片里面加个小程序码. 效果图 但不过其中有坑大家注意啦 HTML代码,我这个是不显示图片的生成图片,所以canvas设 ...

  5. 微信分享功能踩坑过程

    最近,做一款应用的分享功能,主要业务是分享一个网页给微信.QQ好友,然后用的是微信开发平台.腾讯开放平台的官方SDK分享.其中遇到了一些打不开.分享不了的坑,填好后,做了一下封装.总结记录一下. 废话 ...

  6. h5 微信分享和踩坑指南

    文章目录 思路 踩坑集锦 链接不能直接作用与分享 url 参数不能携带特殊字符,比如花括号 "{}" 代码实现 思路 h5 微信分享的官方文档在 这里,如果链接挂了,可以按照一下路 ...

  7. Android 微信分享图片(好友和朋友圈)

    一. 配置 (1)module下build.gradle implementation ('com.xyzlf.share:sharesdk:0.0.10') {exclude group: 'com ...

  8. android11微信分享图片黑色,Android 微信分享图片问题集锦

    之前在做微信分享时碰到如下问题. 02-10 17:35:48.193 12867-12867/? W/System.err: java.lang.RuntimeException: Unable t ...

  9. Android微信分享图片按质量压缩的解决方案,androidndk开发教程

    三.将io流转为byte数组 public static byte[] inputStreamToByte(InputStream is) { try { ByteArrayOutputStream ...

最新文章

  1. Hibernate-ORM:05.Hibernate中的list()和iterator()
  2. 解决minikube启动时若干问题
  3. 浅析:setsockopt()改善程序的健壮性【转】
  4. 使用objectdatasource结合数据绑定控件进行简单三层架构的开发
  5. 【PC工具】在线MP3转WAV工具,MP3文件转换成arduino可以直接播放的wav格式
  6. 一个Java多线程的问题,颠覆了我多年的认知!
  7. 如何进行Tuxera NTFS的挂载卷设置?实现MacOS对NTFS磁盘的完全读写功能
  8. Windows平台上安装搭建iPhone/iPad的开发环境
  9. 委托和事件[delegate and event]_C#
  10. 工业标准的品质也已成为开源世界中的范例之一
  11. 虚拟服务器数据库怎么导入数据库,BlueHost虚拟主机使用SSH怎么导入MySQL数据库...
  12. python产品缺陷检测_3 Kaggle钢材表面缺陷检测竞赛的探索与实践-阿里云开发者社区...
  13. 万能pdf阅读器卸载
  14. HeadFirstJava 10数字与静态
  15. JDK的发布周期缩短,JDK9,JDK10是短期版本
  16. 解决--网页兼容模式下虚拟打印保存为pdf乱码
  17. Linux 内核md5sum使用,linux命令详解:md5sum命令(示例代码)
  18. 部署RPA如何实现投资回报率最大化?评估ROI的6大指标
  19. 制作简单的个人Logo
  20. C语言学习(十)C语言中的小数

热门文章

  1. 织梦后台设置nofollow标签
  2. bzoj 1984: 月下“毛景树” 线段树+树链剖分
  3. matlab atem(),ATEM-Ⅱ瞬变电磁仪数据处理软件的研制与应用
  4. 【图片新闻】洛克希德马丁公司发布第一架F-21战斗机
  5. 成功解决socket.timeout: The read operation timed out问题
  6. 2021-2027全球与中国双面身份证打印机市场现状及未来发展趋势
  7. ubuntu配置工作环境
  8. 生物系转行学编程,如今身家26亿
  9. icomoon矢量字体图标的使用
  10. 35美元与35万美元