有照片的完整路径,各种权限都加上了。使用
if (!TextUtils.isEmpty(path)) {
File file = new File(path);
if (file.exists())
file.delete();
}
删除后,手机浏览这张照片没了,但是照片原来的位置变成了一张黑色图片。
求帮忙,如何彻底删除照片
Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
Uri uri = Uri.fromFile(file);
intent.setData(uri);
context.sendBroadcast(intent);
用这个广播管用。
这儿有个广播,我一时没想起来,可以删掉相册内的缩略图(不会出现破损的图形提示了)
你那个完整路径是原图片的路径。。。。而android本省有一个机制(超恶心的),就是会自动生成一张原图片所对应的缩略图。。。。
if (!TextUtils.isEmpty(path)) {
Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
File file = new File(path);
Uri uri = Uri.fromFile(file);
intent.setData(uri);
MainActivity.this.sendBroadcast(intent);
file.delete();
}
String path = "/storage/emulated/0/DCIM/mdm.jpg"; //获取到的图片完整路径(例子)
if(!TextUtils.isEmpty(path)){
Uri uri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
ContentResolver mContentResolver = MainActivity.this.getContentResolver();
String where = MediaStore.Images.Media.DATA + "='" + path + "'";
//删除图片
mContentResolver.delete(mImageUri, where, null);
//发送广播
intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
File file = new File(path);
Uri uri = Uri.fromFile(file);
intent.setData(uri);
MainActivityTwo.this.sendBroadcast(intent);
}
}
如果使用file.delet() 是会留下一个底图,如果使用ContentResolver删除则不会,看来还是操作数据库删除的彻底