前言
Android系统每次开机的时候都会过一遍文件,然后根据文件的媒体类型做分类,主要就是视频、音频、图片、文件、安装包、压缩包等等类型的分类,例如视频、图片、音频等信息,手机在使用途中增删改的媒体,在媒体库中基本上是不会自动刷新的。
很多的软件都是在媒体库读取的,如果你的app生成的一些媒体,需要在别的地方用到,结果别的软件没有找到,这个就比较尴尬了,所以需要比较及时的更新相关的媒体信息。
找过很多方案,很多都不管用,然后近期找到了大神的帖子,亲测有效:
传送门:https://blog.youkuaiyun.com/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);
}
添加文件夹和删除文件夹
就不上代码了,我也没写,大概思路就是遍历整个文件夹的所有文件
本文介绍了Android系统在开机时如何对文件进行分类,并着重讨论了媒体库在应用生成新媒体文件后的更新问题。当应用程序创建的媒体文件需要在其他软件中可用时,通常需要手动更新媒体库。文中提供了添加和删除单个文件到媒体库的代码示例,以确保文件信息的及时刷新。对于文件夹的处理,建议遍历整个文件夹来更新所有文件。
4672

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



