前言
Android系统每次开机的时候都会过一遍文件,然后根据文件的媒体类型做分类,主要就是视频、音频、图片、文件、安装包、压缩包等等类型的分类,例如视频、图片、音频等信息,手机在使用途中增删改的媒体,在媒体库中基本上是不会自动刷新的。
很多的软件都是在媒体库读取的,如果你的app生成的一些媒体,需要在别的地方用到,结果别的软件没有找到,这个就比较尴尬了,所以需要比较及时的更新相关的媒体信息。
找过很多方案,很多都不管用,然后近期找到了大神的帖子,亲测有效:
传送门:https://blog.csdn.net/yxm1064/article/details/51482461
添加单个文件和删除单个文件
/**
* 添加媒体库
* @param context
* @param path
*/
public static void updateMediaLibraryInsert(Context context,String path){
MediaScannerConnection.scanFile(context, new String[]{path}, null, null);
}
/**
* 删除媒体库
* @param context
* @param path
*/
public static void updateMediaLibraryDelete(Context context,String path){
context.getContentResolver().delete(
MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
MediaStore.Audio.Media.DATA + " = '" + path + "'", null);
}
添加文件夹和删除文件夹
就不上代码了,我也没写,大概思路就是遍历整个文件夹的所有文件