最近在做图库的项目,在做删除时直接调用了file.delete()方法,文件是已经删除了,但是进媒体库发现图片还在,这个时候应该做的就是在删除完成后手动的去刷新媒体库,这样就可以将最新的数据更新到媒体库,同理,当使用代码添加完一张图片后,如果要实时的在媒体库中进行显示,也应该使用此方法动态更新媒体库。
File image = new File(filePath);
image.delete();
Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,Uri.fromFile(image));
sendBroadcast(intent);
ps:类似操作最好使用ContentProvider来完成,比如以下代码可以直接删除图片、图片在图库中的信息和缩略图,不留痕迹
getContentResolver().delete(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, MediaStore.Images.ImageColumns.DATA + "=?",new String[]{filePath});
在android中,有两种广播消息: