意图图像捕获数据==空

sde*_*rre 2 android image capture android-intent

我有此代码,并且在爱立信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);
Run Code Online (Sandbox Code Playgroud)

OnActivity结果

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

知道为什么会这样吗?

小智 5

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

如果包括这些额外内容,则应在收到文件后从文件中读取输出RESULT_OK。或者,您可以删除EXTRA_OUTPUT以使结果意图中的数据在所有设备上均可靠。请注意,这将返回低分辨率的图片,因为意图系统未构建为传递大量数据。