最近在做图片和视频保存功能,之前做的是保存到sd卡目录下,现在是保存到系统相册中.
废话不多说,直接搞成工具类
public class FileUtils { /** * 保存图片 * @param context * @param file */ public static void saveImage(Context context, File file) { ContentResolver localContentResolver = context.getContentResolver(); ContentValues localContentValues = getImageContentValues(context, file, System.currentTimeMillis()); localContentResolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, localContentValues); Intent localIntent = new Intent("android.intent.action.MEDIA_SCANNER_SCAN_FILE"); final Uri localUri = Uri.fromFile(file); localIntent.setData(localUri); context.sendBroadcast(localIntent); } public static ContentValues getImageContentValues(Context paramContext, File paramFile, long paramLong) { ContentValues localContentValues = new ContentValues(); localContentValues.put("title", paramFile.getName()); localContentValues.put("_display_name", paramFile.getName()); localContentValues.put("mime_type", "image/jpeg"); localContentValues.put("datetaken", Long.valueOf(paramLong)); localContentValues.put("date_modified", Long.valueOf(paramLong)); localContentValues.put("date_added", Long.valueOf(paramLong)); localContentValues.put("orientation", Integer.valueOf(0)); localContentValues.put("_data", paramFile.getAbsolutePath()); localContentValues.put("_size", Long.valueOf(paramFile.length())); return localContentValues; } /** * 保存视频 * @param context * @param file */ public static void saveVideo(Context context, File file) { //是否添加到相册 ContentResolver localContentResolver = context.getContentResolver(); ContentValues localContentValues = getVideoContentValues(context, file, System.currentTimeMillis()); Uri localUri = localContentResolver.insert(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, localContentValues); context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, localUri)); } public static ContentValues getVideoContentValues(Context paramContext, File paramFile, long paramLong) { ContentValues localContentValues = new ContentValues(); localContentValues.put("title", paramFile.getName()); localContentValues.put("_display_name", paramFile.getName()); localContentValues.put("mime_type", "video/mp4"); localContentValues.put("datetaken", Long.valueOf(paramLong)); localContentValues.put("date_modified", Long.valueOf(paramLong)); localContentValues.put("date_added", Long.valueOf(paramLong)); localContentValues.put("_data", paramFile.getAbsolutePath()); localContentValues.put("_size", Long.valueOf(paramFile.length())); return localContentValues; } }
注意在注意,保存前,需要权限哦
Manifest.permission.WRITE_EXTERNAL_STORAGE
Manifest.permission.CAMERA,