【问题标题】:Intent Image Capture data==null意图图像捕获数据==null
【发布时间】:2012-09-05 17:12:02
【问题描述】:

我有这段代码,它在爱立信 XPERIA 中运行良好,但是当我在 SAMSUNG ACE 中测试应用程序时,出现错误:

数据=空

String  file=Environment.getExternalStorageDirectory().getAbsolutePath()+ "/picture.jpg";

    Intent i=new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);  
    Uri output = Uri.fromFile(new File(archivo));           
    i.putExtra(MediaStore.EXTRA_OUTPUT, output);
    startActivityForResult(i,CAMERA_REQUEST);

活动结果

if (requestCode==CAMERA_REQUEST && resultCode==RESULT_OK){
                    Bundle extras=data.getExtras();
                    bmp=(Bitmap)extras.get("data");
                    image.setImageBitmap(bmp);
                    image.setVisibility(0);

知道为什么会这样吗?

【问题讨论】:

    标签: android image android-intent capture


    【解决方案1】:

    当您使用EXTRA_OUTPUT 并指定一个文件时,您通常不会通过结果意图额外获得任何图像数据。相机应用程序应该将数据写入您指定的文件。

    如果您包含该额外内容,则应在收到RESULT_OK 后从文件中读取输出。或者,您可以删除 EXTRA_OUTPUT 以使结果意图中的数据在所有设备上都可靠。请注意,这会返回低分辨率图片,因为意图系统不是为提供大量数据而构建的。

    【讨论】:

    • 我应该使用什么然后插入EXTRA_OUTPUT??
    • “您通常不会通过结果获得任何图像数据”,是不是在文档中?我只是浪费了 3 个小时试图弄清楚这一点。
    猜你喜欢
    • 2014-11-19
    • 1970-01-01
    • 1970-01-01
    • 2012-10-08
    • 1970-01-01
    • 2013-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多