在网上搜了很多答案,基本上都是复制粘贴,不是这里缺了,就是那里漏了。用了我提供的方法,如果不能保存成功,你来找我!!我写的方法解决了各种蛋疼的兼容性问题,只用传context和bitmap进来就OK了!

 

public static void saveImageToGallery(Context context, Bitmap bmp) {    // 首先保存图片    File appDir = new File(Environment.getExternalStorageDirectory(), "QRCode");    if (!appDir.exists()) {        appDir.mkdir();    }    String fileName = System.currentTimeMillis() + ".jpg";    File file = new File(appDir, fileName);    try {        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();    }    // 其次把文件插入到系统图库    try {        MediaStore.Images.Media.insertImage(context.getContentResolver(),                file.getAbsolutePath(), fileName, null);    } catch (FileNotFoundException e) {        e.printStackTrace();    }    // 最后通知图库更新    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { // 判断SDK版本是不是4.4或者高于4.4        String[] paths = new String[]{file.getAbsolutePath()};        MediaScannerConnection.scanFile(context, paths, null, null);    } else {        final Intent intent;        if (file.isDirectory()) {            intent = new Intent(Intent.ACTION_MEDIA_MOUNTED);            intent.setClassName("com.android.providers.media", "com.android.providers.media.MediaScannerReceiver");            intent.setData(Uri.fromFile(Environment.getExternalStorageDirectory()));        } else {            intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);            intent.setData(Uri.fromFile(file));        }        context.sendBroadcast(intent);    }}

扫描关注我吧:

 

 

 

更多相关文章

  1. 二、Android(安卓)NDK编程预备之Java jni入门Hello World
  2. Android获取app应用程序大小的方法
  3. Android(安卓)SDK、NDK、JNI的简单介绍
  4. android中SharedPreferences实现存储用户名功能
  5. Android(安卓)Widget ListView添加点击事件
  6. Android的线程和线程池(一)
  7. android httpclient 302自动跳转
  8. Android基础教程——数据存储之操作数据库SQLlite(一)
  9. Android使用Fragment来实现ViewPager的功能(解决切换Fragment状态

随机推荐

  1. Android(安卓)Things | 用Android玩转物
  2. Android(安卓)6.0权限获取方式-shouldSho
  3. Android(安卓)通过无线调试
  4. ObjectHttp使用介绍篇 —— 基础使用
  5. android studio 框架搭建:加入注解框架Ann
  6. Android基础控件——EditText隐藏软键盘
  7. Android(安卓)常用开发类库
  8. 如何实现一个图片加载框架
  9. flutter的AndroidX版本适配
  10. Android(安卓)编程下图片的内存优化