Android 如何将图片和文字同时分享到微信

[摘要]本文介绍Android 如何将图片和文字同时分享到微信,并提供详细的示例代码供参考。

微信开放平台上的例子只有单独分享一张图片或者是单独分享一段文字。最近要做这个功能,就搜索了一下是否有这方面的文章。可能博主搜索能力有限,没找到。最后只好反编译了一个拥有这个功能的应用,得到了这部分代码,拿出来分享一下:

1 public void sendReq(Context context, String text, Bitmap bmp) {
2 String url = "http://www.ABC.net";//收到分享的好友点击信息会跳转到这个地址去
3 WXWebpageObject localWXWebpageObject = new WXWebpageObject();
4 localWXWebpageObject.webpageUrl = url;
5 WXMediaMessage localWXMediaMessage = new WXMediaMessage(
6 localWXWebpageObject);
7 localWXMediaMessage.title = "我的应用";//不能太长,否则微信会提示出错。不过博主没验证过具体能输入多长。
8 localWXMediaMessage.description = text;
9 localWXMediaMessage.thumbData = getBitmapBytes(bmp, false);
10 SendMessageToWX.Req localReq = new SendMessageToWX.Req();
11 localReq.transaction = System.currentTimeMillis() + "";
12 localReq.message = localWXMediaMessage;
13 IWXAPI api = WXAPIFactory.createWXAPI(context, APP_ID, true);
14 api.sendReq(localReq);
15 }
16 // 需要对图片进行处理,否则微信会在log中输出thumbData检查错误
17 private static byte[] getBitmapBytes(Bitmap bitmap, boolean paramBoolean) {
18 Bitmap localBitmap = Bitmap.createBitmap(80, 80, Bitmap.Config.RGB_565);
19 Canvas localCanvas = new Canvas(localBitmap);
20 int i;
21 int j;
22 if (bitmap.getHeight() > bitmap.getWidth()) {
23 i = bitmap.getWidth();
24 j = bitmap.getWidth();
25 } else {
26 i = bitmap.getHeight();
27 j = bitmap.getHeight();
28 }
29 while (true) {
30 localCanvas.drawBitmap(bitmap, new Rect(0, 0, i, j), new Rect(0, 0,
31 , 80), null);
32 if (paramBoolean)
33 bitmap.recycle();
34 ByteArrayOutputStream localByteArrayOutputStream = new ByteArrayOutputStream();
35 localBitmap.compress(Bitmap.CompressFormat.JPEG, 100,
36 localByteArrayOutputStream);
37 localBitmap.recycle();
38 byte[] arrayOfByte = localByteArrayOutputStream.toByteArray();
39 try {
40 localByteArrayOutputStream.close();
41 return arrayOfByte;
42 } catch (Exception e) {
43 F.out(e);
44 }
45 i = bitmap.getHeight();
46 j = bitmap.getHeight();
47 }
48 }

其实就是分享一张网页,同时提供该页面的缩略图、描述等信息啦。刚好可以拿来做同时分享图片和文字内容。其它部分代码就跟微信开放平台上提供的例子一样了。希望对需要的朋友有点帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值