/**
* 保存到本地相册
* @param context
* @param bmp
*/
public void saveImageToGallery(Context context, Bitmap bmp) {
Log.d("ZoomImage", "saveImageToGallery:" + bmp);
final String SAVE_PIC_PATH = Environment.getExternalStorageState().equalsIgnoreCase(Environment.MEDIA_MOUNTED)
? Environment.getExternalStorageDirectory().getAbsolutePath()
: "/mnt/sdcard";//保存到SD卡
// 首先保存图片
File appDir = new File(SAVE_PIC_PATH + "/ZoomImage/");
if (!appDir.exists()) {
appDir.mkdir();
}
long nowSystemTime = System.currentTimeMillis();
String fileName = nowSystemTime + ".png";
File file = new File(appDir, fileName);
try {
if (!file.exists()) {
file.createNewFile();
}
FileOutputStream fos = new FileOutputStream(file);
bmp.compress(Bitmap.CompressFormat.JPEG, 100, fos);
fos.flush();
fos.close();
}
catch (FileNotFoundException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
//保存图片后发送广播通知更新数据库
Uri uri = Uri.fromFile(file);
context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, uri));
// // 其次把文件插入到系统图库
// try {
// MediaStore.Images.Media.insertImage(context.getContentResolver(), file.getAbsolutePath(), fileName, null);
// }
// catch (FileNotFoundException e) {
// e.printStackTrace();
// }
// // 最后通知图库更新
// context.sendBroadcast(
// new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse("file://" + file.getAbsolutePath())));
Toast.makeText(getContext(), "已保存到本地相册", Toast.LENGTH_LONG).show();
}
复制代码
保存图片到SD卡
最新推荐文章于 2023-08-03 11:51:51 发布