储存图片刷新图库,使图片在图库第一个

   public static void onSaveBitmap(final Bitmap mBitmap, final Context context, final String filename) {
        new Logger().debug("FileUtils", "----method onSaveBitmap() start-----------");
        if (mBitmap == null || context == null) {
            return;
        }
        new Thread(new Runnable() {


            @Override
            public void run() {
                Logger logger = new Logger();
                String fileName = "auth_qr_" + filename + getTime(System.currentTimeMillis()) + ".jpg";
                String photoPath = Environment.getExternalStorageDirectory()
                        .getAbsolutePath() + File.separator + "fenduobao" + File.separator + "phototemp";
                logger.debug("FileUtils", "----method onSaveBitmap() photoPath==" + photoPath);
                //创建文件对象,用来存储新的图像文件
                File destDir = new File(photoPath);
                if (!destDir.exists()) {
                    destDir.mkdirs();
                }
                File file = new File(destDir, fileName);
                //创建文件
                try {
                    boolean r = file.createNewFile();
                    logger.debug("FileUtils", "----method createNewFile() result==" + r);
                    //定义文件输出流
                    FileOutputStream fOut = new FileOutputStream(file);
                    //将bitmap存储为jpg格式的图片
                    boolean result = mBitmap.compress(Bitmap.CompressFormat.JPEG, 100, fOut);
                    logger.debug("FileUtils", "----method mBitmap.compress() result==" + result);
                    fOut.flush();//刷新文件流
                    fOut.close();
                    // 其次把文件插入到系统图库
                    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.fromFile(new File(file.getPath()))));
//                    Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
//                    Uri uri = Uri.fromFile(new File(photoPath));
//                    logger.debug("FileUtils", "-----------uri==" + uri);
//                    intent.setData(uri);
//                    context.sendBroadcast(intent);
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }).start();
        new Logger().debug("FileUtils", "----method onSaveBitmap() end-----------");
    }
发布了20 篇原创文章 · 获赞 2 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_28335347/article/details/70945196