繁体   English   中英

在Android上处理来自BroadcastReceiver的图像

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM