我需要从用户选择的SD卡中删除图像。 在我的活动中,用户经过选择从图库的图像,我执行此代码:Android:从SD卡中删除图像
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
if (requestCode == SELECT_PICTURE) {
Utils.imgUri = data.getData();
Utils.imgPath = getPath(Utils.imgUri);
File file = new File(Utils.imgPath);
boolean deleted = file.delete();
}
}
}
其中的getPath方法是:
public String getPath(Uri uri) {
String[] projection = { MediaStore.Images.Media.DATA };
Cursor cursor = managedQuery(uri, projection, null, null, null);
if(cursor!=null){
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
return cursor.getString(column_index);
}
else return null;
}
的图像被正确地去除,但在画廊仍然是已删除图像的预览。 当我点击它,是加载一个黑色的图像..
所以,我从我的应用程序代码删除一些图像后,如何更新库预览?
不起作用。在画廊留下图像。上面的说明不清楚,我在file.delete()之后立即添加了你的行。函数被调用。如果这是正确的,则代码不能按预期工作。 – Bisclavret
Super..works like Charm ... + 1票 –