我正在使用信使服务从URL异步获取图像,但LogCat抛出了一条奇怪的错误信息:
W / System.err(26180):从./org/apache/harmony/awt/www/content/image/png.class
读取错误- 或 -
W / System.err(26180):从./org/apache/harmony/awt/www/content/image/jpeg.class读取错误
有趣的是,一切都有效。第一次尝试将图像成功解码为位图。
这是我的代码:
@Override
public void onHandleIntent(Intent i) {
int position = (Integer)i.getExtras().get(EXTRA_POSITION);
String imageUrl = (String)i.getExtras().get(EXTRA_URL);
Messenger messenger = (Messenger)i.getExtras().get(EXTRA_MESSENGER);
Message msg = Message.obtain();
Bitmap bitmap = null;
try {
bitmap = BitmapFactory.decodeStream((InputStream)new URL(imageUrl).getContent());
msg.arg1 = Activity.RESULT_OK;
msg.arg2 = position;
msg.obj = bitmap;
} catch(Exception e) {
Log.e("RSSForHC", "Exception getting image", e);
msg.arg1 = Activity.RESULT_CANCELED;
msg.obj = e;
}
try {
messenger.send(msg);
} catch (Exception e) {
Log.w("RSSForHC","Exception sending results to activity", e);
}
}
这一行肯定会抛出错误:
bitmap = BitmapFactory.decodeStream((InputStream)new URL(imageUrl).getContent());
既然一切正常,我的问题是忽略这个错误是否可以接受?有谁知道为什么会抛出这个错误以及我怎么可能纠正它或处理它?</ p>
答案 0 :(得分:1)
这对我有用,可以摆脱这些消息。当然迈克尔可能仍然是对的,忽略它们是可以的。
我换了
Drawable.createFromStream(((InputStream)new URL(urlString).getContent()),“name”);
与
Drawable.createFromStream((new URL(url))。openConnection()。getInputStream(),“name”);
当然这不完全是你的代码,但我怀疑用openConnection()替换getContent()。getInputStream()也适合你。
答案 1 :(得分:0)
这显然是Apache / Harmony框架中的一个错误。 我想你可能会忽略它,你不能在那里改变代码,即使你想要:) 它对于apache / harmony开发人员来说是一种日志记录,你不必关心它。