前段时间做了商品分享和店铺分享到微信、朋友圈,今天需要做一个分享注册链接到微信和微信朋友圈,其实代码都是大同小异,我也没想太多,全程都是ctrl c ctrl v 一吨操作猛如虎,能分享到微信了,下面看效果。
微信好友效果如下:
朋友圈效果如下:
二者都出现了灰色边角 这就让我很疑惑,于是我想难道我用的logo是圆角的导致了灰色边边,我就让ui重新给我切一个直角的放上去,没想到还是有灰色边边,没有什么卵用,于是我百度了一个分享logo出现黑色边边的问题,找到了我个人认为还不错的2篇博客
https://blog.csdn.net/m0_37794706/article/details/78455639
https://www.jianshu.com/p/5c0b68cd3d56
放在代码中使用谁知道还是没有什么用?
找了半天也没发现什么有效办法,于是我就问我们开发大哥,他说是不是微信开放平台那里上传的是带有圆角导致的,我就在怀疑这是否有问题?
问题就堆到了第二天,我没有微信开放平台账号没法看logo形状
我发现一个问题,我就重新写了一个分享的方法,我把string类型改为int类型没想到成功了,获取logo我是从drawable文件和mipmap文件获取的,所以类型是int值
/** * 分享微信 朋友圈 logo为直角 不带灰色背景 * 去除描述 * @param type * @param title * @param targetUrl * @param imageUrl * @param onShareCallBack */ public void share2(int type, String title,String text, String targetUrl, int imageUrl, OnShareCallBack onShareCallBack) { UMImage image = null; this.onShareCallBack = onShareCallBack; // UMImage image = new UMImage(activity,"http://www.umeng.com/images/pic/social/integrated_3.png"); if ("".equals(imageUrl)) { image = new UMImage(activity, BitmapFactory.decodeResource(activity.getResources(), R.mipmap.ic_launcher));//本地资源 } else { image = new UMImage(activity, imageUrl); } if (type == SINA) { platform = SHARE_MEDIA.SINA; } else if (type == WEIXIN) { platform = SHARE_MEDIA.WEIXIN; } else if (type == WEIXIN_CIRCLE) { platform = SHARE_MEDIA.WEIXIN_CIRCLE; } else if (type == QQ) { platform = SHARE_MEDIA.QQ; } else if (type == QQ_ZONE) { platform = SHARE_MEDIA.QZONE; } else { return; } UMWeb web = new UMWeb(targetUrl); web.setTitle(title);//标题 web.setThumb(image); //缩略图 //调用分享 new ShareAction(activity) .setPlatform(platform) .setCallback(umShareListener) // .withTitle(title) .withText(text) // .withTargetUrl(targetUrl) .withMedia(web) .share(); }
调用方法
分享到微信好友
UmengUtil umengUtil = new UmengUtil(PosterActivity.this); umengUtil.share2(UmengUtil.WEIXIN, share_title, "分享注册","您的分享url链接" + "?参数=" + 值, R.mipmap.icon_yzy_logo_new, new UmengUtil.OnShareCallBack() { @Override public void onComplete(SHARE_MEDIA share_media) { // ToastUtil.showCenterToast("分享成功"); } });
分享到朋友圈 UmengUtil wechat_circle = new UmengUtil(PosterActivity.this); // Bitmap bmp = BitmapFactory.decodeResource(getResources(),R.drawable.icon_yzy_logo_new); // UMImage img = new UMImage(PosterActivity.this, changeColor(bmp)); wechat_circle.share2(UmengUtil.WEIXIN_CIRCLE, share_title, "分享注册",""您的分享url链接" + "?参数=" + 值", R.mipmap.icon_yzy_logo_new, new UmengUtil.OnShareCallBack() { @Override public void onComplete(SHARE_MEDIA share_media) { // ToastUtil.showCenterToast("分享成功"); } });
效果如下图:
还有有点狗的是我分享朋友圈不和微信写的一样还是有灰色边角 ,我就写成一样了二者就解决了我的我问题,我也很无奈。
各位小伙伴们有什么好的建议可以给我留言评论,谢谢,我的是太low的方法了