Android中微信纯图大图的分享

最近项目需要增加分享的内容,需要添加直接分享纯图(也就是大图片,不跳转),但是查资料后发现没有看到什么好的解决方案,经过一天的摸索,终于发现了其中的奥秘,现在将之写下来,希望对同样遇到这样的问题的朋友有所帮助。

   1.微信分享纯图,第一点是要记住:分享的必须是本地图片才可以,要是网络图片先要转化为本地的bitmap才可以,所以先附上如何将网络图片转化为本地的bitmap资源:

public static Bitmap GetLocalOrNetBitmap(String url)
{
    Bitmap bitmap = null;
    InputStream in = null;
    BufferedOutputStream out = null;
    try
    {
        in = new BufferedInputStream(new URL(url).openStream(), 1024);
        final ByteArrayOutputStream dataStream = new ByteArrayOutputStream();
        out = new BufferedOutputStream(dataStream, 1024);
        copy(in, out);
        out.flush();
        byte[] data = dataStream.toByteArray();
        bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);
        data = null;
       return bitmap;

    }
    catch (IOException e)
    {
        e.printStackTrace();
        return null;
    }
}
private static void copy(InputStream in, OutputStream out)
        throws IOException {
    byte[] b = new byte[1024];
    int read;
    while ((read = in.read(b)) != -1) {
        out.write(b, 0, read);
    }
2.转为本地bitmap之后,就是要注意,不要设置标题和内容,但是要设置
 
  
setTargetUrl,这里只要是一个合法的网址即可。
3.要同时设置
circleMedia.setShareImage(getShareBigImg());
circleMedia.setShareMedia(getShareBigImg());
这2项就可以了。
附上:
 
  
private UMImage getShareBigImg() {
   UMImage img = new UMImage(this.context, bitmap);
   return img;
}
还有如果利用友盟分享的,也可以看一下这个文档:http://bbs.umeng.com/thread-13236-1-1.html

你可能感兴趣的:(android)