我有一个带有图片库的应用程序,我希望用户可以将它保存到他自己的图库中。我创建了一个带有单一语音“保存”的选项菜单以允许这样做,但问题是……我如何将图像保存到图库中?
这是我的代码:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case R.id.menuFinale:
imgView.setDrawingCacheEnabled(true);
Bitmap bitmap = imgView.getDrawingCache();
File root = Environment.getExternalStorageDirectory();
File file = new File(root.getAbsolutePath()+"/DCIM/Camera/img.jpg");
try
{
file.createNewFile();
FileOutputStream ostream = new FileOutputStream(file);
bitmap.compress(CompressFormat.JPEG, 100, ostream);
ostream.close();
}
catch (Exception e)
{
e.printStackTrace();
}
return true;
default:
return super.onOptionsItemSelected(item);
}
}
我不确定这部分代码:
File root = Environment.getExternalStorageDirectory();
File file = new File(root.getAbsolutePath()+"/DCIM/Camera/img.jpg");
保存到图库中是否正确?不幸的是代码不起作用:(
原文由 Christian Giupponi 发布,翻译遵循 CC BY-SA 4.0 许可协议
以前的代码将在画廊的末尾添加图像。如果您想修改日期,使其出现在开头或任何其他元数据,请参见下面的代码(Cortesy of SK, samkirton ):
https://gist.github.com/samkirton/0242ba81d7ca00b475b9