我正试图创建一个onclick事件,通过单击按钮将imageview保存到电话图库中,下面是我的代码。它不会存进画廊,有人能帮我弄清楚原因吗?
sharebtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View b) {
// TODO Auto-generated method stub
//attempt to save the image
b = findViewById(R.id.imageView);
b.setDrawingCacheEnabled(true);
Bitmap bitmap = b.getDrawingCache();
//File file = new File("/DCIM/Camera/image.jpg");
File root = Environment.getExternalStorageDirectory();
File cachePath = new File(root.getAbsolutePath() + "/DCIM/Camera/image.jpg");
try
{
cachePath.createNewFile();
FileOutputStream ostream = new FileOutputStream(cachePath);
bitmap.compress(CompressFormat.JPEG, 100, ostream);
ostream.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
});
最佳答案
我这样做是为了保存图片库中的图像。
private void saveImageToGallery(){
imageview.setDrawingCacheEnabled(true);
Bitmap b = imageview.getDrawingCache();
Images.Media.insertImage(getActivity().getContentResolver(), b,title, description);
}
insertImage()
将返回一个String != null
如果图像已经被真正保存。另外:需要清单中的“android.permission.write_external_storage”权限
请注意,这会将图像放在库中已存在的图像列表的底部。
希望这有帮助。