Android - 相机意图不执行保存,如文档中所述

时间:2013-07-25 00:58:09

标签: java android android-camera

我设置了相机意图,尝试在设备的根目录中创建文件。

File storagePath = new File(Environment.getExternalStorageDirectory()+ "/Football_Fans");
storagePath.mkdirs();
File file = new File(storagePath, "FAN_IMAGE_TEMP");                                

Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);            

cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, storagePath);
startActivityForResult(cameraIntent,CAMERA_REQUEST_IMAGE);

当我运行我的应用程序时,我没有设置任何activityOnResult,但我使用fileExplorer来尝试查看我的文件是否已创建。我的文件夹创建得很好,但照片没有显示出来。知道为什么吗?

文档说明如果设置了EXTRA_OUTPUT,它将写入该位置。所以我很困惑,为什么它不起作用。

  

调用者可以传递额外的EXTRA_OUTPUT来控制此图像的位置   将写。如果EXTRA_OUTPUT不存在,则小   size图像作为额外字段中的Bitmap对象返回。这是   适用于只需要小图像的应用程序。如果   存在EXTRA_OUTPUT,然后将写入全尺寸图像   EXTRA_OUTPUT的Uri值。

2 个答案:

答案 0 :(得分:3)

使用Uri。试试这个

cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(storagePath));

答案 1 :(得分:1)

“..将写入EXTRA_OUTPUT的Uri值。”

您正在传递File对象(storagePath)。它希望Uri能够使用它:

cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(storagePath));