Android保存图片不会更新到图库

时间:2015-05-21 13:30:58

标签: android bitmap imageview gallery

我正在尝试将我的图像从ImageView保存到SD卡,他们正在保存到SD卡,但他们没有更新到图库。这是我的代码。

public void save(View v) {
    bitmap = BitmapFactory.decodeResource(getResources(), backgrounds.get(currentPosition)) ;
    File filepath = Environment.getExternalStorageDirectory();
    File dir = new File(filepath.getAbsolutePath()
    + "/Folder/");
    dir.mkdirs();
    String Image = System.currentTimeMillis()+".Png";
    File file = new File(dir, Image);
    Toast.makeText(MainActivity.this, "Image Saved to SD Card",
    Toast.LENGTH_SHORT).show();
    try {
    output = new FileOutputStream(file);
    // Compress into png format image from 0% - 100%
    bitmap.compress(Bitmap.CompressFormat.PNG, 100, output);
    output.flush();
    output.close();
   }
    catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
}

2 个答案:

答案 0 :(得分:1)

您必须先将mime类型添加到图像

它会起作用。

MediaScannerConnection.scanFile(
    context, 
    new String[]{ pathToFile1, pathToFile2 }, 
    new String[]{ "audio/mp3", "*/*" }, 
    new MediaScannerConnectionClient()
    {
        public void onMediaScannerConnected()
        {
        }
        public void onScanCompleted(String path, Uri uri)
        {
        }
    });

答案 1 :(得分:1)

在sdCard中将位图保存为PNG文件后。 确保Gallery知道已创建PNG文件。

Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
Uri contentUri = Uri.fromFile(file);
mediaScanIntent.setData(contentUri);
context.sendBroadcast(mediaScanIntent);