程序员人生 网站导航

将图片保存到系统相册的两种方法

栏目:互联网时间:2014-11-09 08:42:15

第1种:采取系统的api直接使用:

ContentResolver cr = getContentResolver(); String url = MediaStore.Images.Media.insertImage(cr, bmp, String.valueOf(System.currentTimeMillis()), "");

但是,这类方式必须得刷新图库:

sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://"+ Environment.getExternalStorageDirectory())));

虽然如此,这类方法还是只能合适安卓4.4以下的手机,若是4.4以上的手机就会报错,因此建议采取第2种方式来写;

第2种:直接采取文件流进行保存到相册

File tempFile = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM).getPath() + "/" + String.valueOf(System.currentTimeMillis()) + ".png"); if(tempFile.exists()){ tempFile.delete(); } try { tempFile.createNewFile(); } catch (IOException e) { e.printStackTrace(); } FileOutputStream fOut = null; try { fOut = new FileOutputStream(tempFile); } catch (FileNotFoundException e) { e.printStackTrace(); } bmp.compress(Bitmap.CompressFormat.PNG, 100, fOut); try { fOut.flush(); fOut.close(); } catch (IOException e) { // TODO: handle exception e.printStackTrace(); }


最后把全部方法贴出来:

/** *
------分隔线----------------------------
------分隔线----------------------------

最新技术推荐