Android文件下载到本地后去对应的媒体文件夹不会马上找到文件,这个时候就要在文件下载完成后发送广播通知媒体扫描器扫描,让文件及时出现。
代码如下:
/**
* 扫描文件、刷新
*
* @param file 文件路径
*/
public static void fileScan(String file) {
Uri data = Uri.parse("file://" + file);
//UserApplication.getInstance()这个是获取我项目application的上下文,你们也可以通过传参context
UserApplication.getInstance().sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, data));
}
/**
* 扫描文件、刷新
*
* @param path 路径
*/
public static void folderScan(String path) {
if(TextUtils.isEmpty(path)){
return;
}
File file = new File(path);
if(!file.exists()){
return;
}
if (file.isDirectory()) {
File[] array = file.listFiles();
for (int i = 0; i < array.length; i++) {
File f = array[i];
if (f.isFile()) {//FILE TYPE
String name = f.getName();
fileScan(f.getAbsolutePath());
} else {//FOLDER TYPE
folderScan(f.getAbsolutePath());
}
}
} else {
fileScan(file.getAbsolutePath());
}
}