您的位置:首页 > 移动开发 > 微信开发

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

2013-04-22 21:43 656 查看
[摘要]本文介绍Android 如何将图片和文字同时分享到微信,并提供详细的示例代码供参考。

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

View Row Code
1public

void
sendReq(Context
context,
String text,
Bitmap bmp) {
2String
url
=
"http://www.ABC.net";//收到分享的好友点击信息会跳转到这个地址去
3WXWebpageObject
localWXWebpageObject
=
new
WXWebpageObject();
4localWXWebpageObject.webpageUrl

= url;
5WXMediaMessage
localWXMediaMessage
=
new
WXMediaMessage(
6localWXWebpageObject);
7localWXMediaMessage.title

=
"我的应用";//不能太长,否则微信会提示出错。不过博主没验证过具体能输入多长。
8localWXMediaMessage.description

= text;
9localWXMediaMessage.thumbData

=
getBitmapBytes(bmp,
false);
10SendMessageToWX.Req
localReq
=
new
SendMessageToWX.Req();
11localReq.transaction

=
System.currentTimeMillis()

+
"";
12localReq.message

= localWXMediaMessage;
13IWXAPI
api
=
WXAPIFactory.createWXAPI(context,

APP_ID,
true);
14api.sendReq(localReq);
15}
16//
需要对图片进行处理,否则微信会在log中输出thumbData检查错误
17private

static
byte[]
getBitmapBytes(Bitmap
bitmap,
boolean paramBoolean) {
18Bitmap
localBitmap
=
Bitmap.createBitmap(80,

80,
Bitmap.Config.RGB_565);
19Canvas
localCanvas
=
new
Canvas(localBitmap);
20int
i;
21int
j;
22if
(bitmap.getHeight()

> bitmap.getWidth())
{
23i

= bitmap.getWidth();
24j

= bitmap.getWidth();
25}

else {
26i

= bitmap.getHeight();
27j

= bitmap.getHeight();
28}
29while
(true)
{
30localCanvas.drawBitmap(bitmap,

new
Rect(0,

0, i, j),
new
Rect(0,

0,
31,

80),
null);
32if
(paramBoolean)
33bitmap.recycle();
34ByteArrayOutputStream
localByteArrayOutputStream
=
new
ByteArrayOutputStream();
35localBitmap.compress(Bitmap.CompressFormat.JPEG,

100,
36localByteArrayOutputStream);
37localBitmap.recycle();
38byte[]
arrayOfByte
= localByteArrayOutputStream.toByteArray();
39try
{
40localByteArrayOutputStream.close();
41return
arrayOfByte;
42}

catch (Exception
e) {
43F.out(e);
44}
45i

= bitmap.getHeight();
46j

= bitmap.getHeight();
47}
48}
其实就是分享一张网页,同时提供该页面的缩略图、描述等信息啦。刚好可以拿来做同时分享图片和文字内容。其它部分代码就跟微信开放平台上提供的例子一样了。希望对需要的朋友有点帮助。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐