儲存圖片刷新圖庫,使圖片在圖庫第一個

   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-----------");
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章