[英]Processing image from a BroadcastReceiver on Android
我正在尝试从Android上的BroadcastReceiver处理图像,但是我的日志显示以下错误:在没有当前上下文的情况下调用OpenGL ES API(每个线程记录一次)。 有任何想法吗。 这是我的代码:
public void processingImage(String image){
try {
if(image != null){
bmp = convertBitmap(image);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);
bitmaps.add(bmp);
byteArray = stream.toByteArray();
}
} catch (Exception e) {
}
}
private Bitmap convertBitmap(String image) throws MalformedURLException, IOException{
Bitmap b = BitmapFactory.decodeStream((InputStream)new URL("http://mydomain.com/upload/" + image ).getContent());
return b;
}
除了启动服务和活动之外,您不应在BroadcastReciever中执行任何操作。 系统实例化的BroadcastReceiver上下文非常有限,可能缺少加速的图形支持。
android.graphics
程序包包含与平台中的图形硬件紧密相关的类,因此没有实际openGL上下文的Android Context对象不能用于执行此程序包中指定的某些操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.