我正在尝试将我的图像从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();
}
}
答案 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);