1.问题:最近做一个保存视频到本地功能,起初视频保存到本地后,相册数据库没有刷新,导致相册里面找不到该视频,这个通过MedisScannerConnection解决,链接
https://blog.youkuaiyun.com/zhqw_csdn/article/details/79882745 后来,又需要将该文件删除,但是删除后本地相册仍然能看到缓存的文件夹和文件,只是文件无效而已
2.原因:因为我们保存视频或者图片到本地后,手动刷新了本地的媒体数据库,所以数据库里面有该视频或者图片的记录,但是我们删除的时候是直接删除的文件,数据库里面的记录依然存在,所以需要删除数据库里面的记录
3.解决方案:通过ContentResolver删除数据库里面的视频记录,代码如下
2.原因:因为我们保存视频或者图片到本地后,手动刷新了本地的媒体数据库,所以数据库里面有该视频或者图片的记录,但是我们删除的时候是直接删除的文件,数据库里面的记录依然存在,所以需要删除数据库里面的记录
3.解决方案:通过ContentResolver删除数据库里面的视频记录,代码如下
public static void deleteVideoInAlbumDB(List<String> paths) {
ContentResolver contentResolver = MainApplication.getContext().getContentResolver();
for (String filePath : paths) {
int delete = contentResolver.delete(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, MediaStore.Video.Media.DATA + "=?", new String[]{filePath});
}
}
本文介绍了在Android中保存视频到本地并从相册中删除的完整流程。首先解决了保存视频后相册不刷新的问题,然后针对删除视频后相册仍显示无效文件夹的情况提供了ContentResolver删除数据库记录的方法。
642

被折叠的 条评论
为什么被折叠?



