android 系统相机拍照 保存系统相册
时间: 2023-07-28 15:19:51 浏览: 86
您好,要在 Android 系统相机拍照后,将照片保存到系统相册,可以使用以下代码:
```
// 创建保存图片的文件路径
File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM);
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss", Locale.getDefault()).format(new Date());
String fileName = "IMG_" + timeStamp + ".jpg";
File file = new File(path, fileName);
// 将图片保存到文件中
try {
OutputStream os = new FileOutputStream(file);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, os);
os.flush();
os.close();
} catch (Exception e) {
e.printStackTrace();
}
// 将图片添加到系统相册中
Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
Uri contentUri = Uri.fromFile(file);
mediaScanIntent.setData(contentUri);
sendBroadcast(mediaScanIntent);
```
上述代码中,首先创建保存图片的文件路径和文件名,然后将图片保存到文件中。最后,使用 `Intent.ACTION_MEDIA_SCANNER_SCAN_FILE` 广播通知系统相册扫描该文件并将其添加到相册中。
需要注意的是,您需要在 AndroidManifest.xml 文件中添加以下权限:
```
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
```
另外,为了确保照片能够保存到系统相册中,需要在 AndroidManifest.xml 文件中添加以下代码:
```
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.provider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths" />
</provider>
```
并在 res/xml 目录下创建 provider_paths.xml 文件,内容如下:
```
<paths>
<external-path name="external_files" path="."/>
</paths>
```
希望能对您有所帮助。
阅读全文
相关推荐















