如何在调用相机之前创建一个文档用于保存拍的照片
时间: 2024-01-22 20:19:58 浏览: 79
Android实现从本地图库/相机拍照后裁剪图片并设置头像
在调用相机之前,您可以创建一个空的文档或者指定一个已经存在的文档路径,用于保存拍摄的照片。具体步骤如下:
1. 创建一个空的文档或者指定一个已经存在的文档路径。您可以使用以下代码来创建一个新的文档:
```
String imageFileName = "IMG_" + timeStamp + ".jpg";
File storageDir = getExternalFilesDir(Environment.DIRECTORY_PICTURES);
File imageFile = File.createTempFile(
imageFileName,
".jpg",
storageDir
);
```
其中 `timeStamp` 是一个时间戳,可以用来保证文件名的唯一性。
2. 在启动相机之前,将文档路径传递给相机应用。您可以使用以下代码来启动相机:
```
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(imageFile));
startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
```
其中 `REQUEST_IMAGE_CAPTURE` 是一个常量,用于标识拍照请求。
3. 在 `onActivityResult` 方法中,检查请求是否成功,并且处理拍照结果。如果请求成功,那么您可以在指定的文档中找到拍摄的照片。
```
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {
// 拍照成功,可以在指定的文档中找到照片
// 处理照片
}
}
```
注意,由于 Android 7.0 开始,您需要使用 `FileProvider` 来访问应用的私有目录。具体使用方法可以参考 Android 官方文档。
阅读全文