生活随笔
收集整理的這篇文章主要介紹了
微信分享网络图片
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
最近項目中做到分享做到分享的時候發現微博,微信Demo只提供分享本地圖片的方式,作為一個老司機怎么能忍,果斷祭出我的神器萬能的姑姑大神,最終功夫不負有心人完美實現分享。
對比微博微信分享網頁這一塊你會神器的發現二者居然驚人的相似,這里我也不管誰抄襲誰了,老規矩直接上代碼,微信分享如下:
/**
* 初始化WXWebpageObject對象填充url
*/
WXWebpageObject webpage = new WXWebpageObject();
webpage.webpageUrl = shareUrl;
/*** 用WXWebpageobject對象初始化一個WXMediaMessage對象,填寫標題,描述*/WXMediaMessage msg = new WXMediaMessage(webpage);msg.title = title;msg.description = description;msg.thumbData = WX_Util.bmpToByteArray(bitmap, true);/*** 構造一個req*/SendMessageToWX.Req req = new SendMessageToWX.Req();req.transaction = buildTransaction("webpage");req.message = msg;req.scene = SendMessageToWX.Req.WXSceneTimeline;api.sendReq(req); 不難發現最重要的還是得造一個bitmap,于是我們就造一個
/*** 把網絡資源圖片轉化成bitmap** @param url 網絡資源圖片* @return 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);}
}
這樣就根據網絡圖片url就完美的得到bitmap了,是不是感覺很簡單,在使用過程中遇到問題歡迎留言。
總結
以上是生活随笔為你收集整理的微信分享网络图片的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。