android將應用中圖片保存到系統相冊並顯示
阿新 • • 發佈:2017-12-01
context sca new 場景 adc finally sep r+ ace
我應用到的場景是程序中在視頻通訊時截圖,將截圖保存到本地相冊中
/**
* @param bmp 獲取的bitmap數據
* @param picName 自定義的圖片名
*/
public static void saveBmp2Gallery(Bitmap bmp, String picName) { String fileName = null; //系統相冊目錄 String galleryPath= Environment.getExternalStorageDirectory() + File.separator + Environment.DIRECTORY_DCIM+File.separator+"Camera"+File.separator; // 聲明文件對象 File file = null; // 聲明輸出流 FileOutputStream outStream = null; try { // 如果有目標文件,直接獲得文件對象,否則創建一個以filename為名稱的文件 file = new File(galleryPath, picName+ ".jpg");// 獲得文件相對路徑 fileName = file.toString(); // 獲得輸出流,如果文件中有內容,追加內容 outStream = new FileOutputStream(fileName); if (null != outStream) { bmp.compress(bmp_format, 90, outStream); } } catch (Exception e) { e.getStackTrace(); }finally { try { if (outStream != null) { outStream.close(); } } catch (IOException e) { e.printStackTrace(); }
}
//通知相冊更新
MediaStore.Images.Media.insertImage(mContext.getContentResolver(), bmp, fileName, null); Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE); Uri uri = Uri.fromFile(file); intent.setData(uri); mContext.sendBroadcast(intent); ToastUtil.show("圖片保存成功"); }
android將應用中圖片保存到系統相冊並顯示