试过很多种方法怎么能图片直接存入到系统图库中去,感觉都不太好用,今天给大家推荐一个实用的方法
一、现将图片保存
public static void saveImageToAlbum(Context context, Bitmap bmp) {
File appDir = null;
appDir = new File(Environment.getExternalStorageDirectory() + "/文件夹名");
if (!appDir.exists()) { // 判断文件夹是否存在
appDir.mkdir();
}
String fileName = System.currentTimeMillis() + ".png"; // 拼文件名
File file = new File(appDir, fileName);
try {
FileOutputStream fos = new FileOutputStream(file);
bmp.compress(CompressFormat.PNG, 100, fos);
fos.flush();
fos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
二、 把文件插入到系统图库
try {
MediaStore.Images.Media.insertImage(context.getContentResolver(), file.getAbsolutePath(), fileName, null);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
到这文件就保存到系统图库中去了,但是感觉还是少了点什么。
还有一步也是最重要的一步
三、通知图库进行更新
Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
Uri uri = Uri.fromFile(file);
intent.setData(uri);
context.sendBroadcast(intent);
}
以上就是如何正确的将图片保存到图库中
欢迎加群大家一起分享学习Android知识
群号:Android开发经验交流群 454430053