微信分享中的图片,想从服务端获取要怎么做

Amy安 Amy安 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
04-21 15:10:43.793 22472-22472/com.app D/AndroidRuntime: Shutting down VM
04-21 15:10:43.813 22472-22472/com.app E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.app, PID: 22472
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.yxdapp/.yxdapp.wxapi.WXEntryActivity}: android.os.NetworkOnMainThreadException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2693)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2758)
at android.app.ActivityThread.access$900(ActivityThread.java:177)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1448)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:5942)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1400)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1195)
Caused by: android.os.NetworkOnMainThreadException
at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1147)
at java.net.InetAddress.lookupHostByName(InetAddress.java:418)
at java.net.InetAddress.getAllByNameImpl(InetAddress.java:252)
at java.net.InetAddress.getAllByName(InetAddress.java:215)
at com.android.okhttp.HostResolver$1.getAllByName(HostResolver.java:29)
at com.android.okhttp.internal.http.RouteSelector.resetNextInetSocketAddress(RouteSelector.java:232)
at com.android.okhttp.internal.http.RouteSelector.next(RouteSelector.java:124)
at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:367)
at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:295)
at com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:373)
at com.android.okhttp.internal.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:323)
at com.android.okhttp.internal.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:190)
at java.net.URL.openStream(URL.java:470)
at com.lblll.yulingkeji.yxdapp.wxapi.WXEntryActivity.loadImageFromNetwork(WXEntryActivity.java:145)
at com.lblll.yulingkeji.yxdapp.wxapi.WXEntryActivity.share2weixin(WXEntryActivity.java:113)
at com.lblll.yulingkeji.yxdapp.wxapi.WXEntryActivity.onCreate(WXEntryActivity.java:69)
at android.app.Activity.performCreate(Activity.java:6288)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2646)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2758) 
at android.app.ActivityThread.access$900(ActivityThread.java:177) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1448) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:145) 
at android.app.ActivityThread.main(ActivityThread.java:5942) 
at java.lang.reflect.Method.invoke(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:372) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1400) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1195) 




方法一
/*
drawableSharePic = loadImageFromNetwork("reg","http://www.xxx.com/Android/shareImg/share_deal.jpg");

BitmapDrawable bd = (BitmapDrawable) drawableSharePic;
Bitmap thumb = bd.getBitmap();
msg.setThumbImage(thumb); //= Util.bmpToByteArray(thumb, true);

private Drawable loadImageFromNetwork(String type,String imageUrl)
{

Drawable drawable = null;
try {

drawable = Drawable.createFromStream(new URL(imageUrl).openStream(), "share_reg.jpg");

} catch (IOException e) {

}
if (drawable == null) {
//如果没有成功从服务器获取图片 则用logo
drawable = getResources().getDrawable(R.drawable.logo);
}

return drawable ;
}

*/

方法二
int WX_THUMB_SIZE = 120;
Bitmap bmp = BackwardSupportUtil.BitmapFactory.getBitmapFromURL(Constants.IMAGE_URL);
Bitmap thumbBmp = Bitmap.createScaledBitmap(bmp, WX_THUMB_SIZE, WX_THUMB_SIZE, true);
bmp.recycle();
msg.thumbData = Util.bmpToByteArray(thumbBmp, true);



两种方法都是同样的错误,求教这里要怎么做
...全文

相关推荐

评论 8
收藏 已收藏
分享
返回顶部
Amy安
Android 80,490 成员 91,375 内容