我设置了相机意图,尝试在设备的根目录中创建文件。
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值。
答案 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));