Android文件下載到本地后去對(duì)應(yīng)的媒體文件夾不會(huì)馬上找到文件,這個(gè)時(shí)候就要在文件下載完成后發(fā)送廣播通知媒體掃描器掃描叁丧,讓文件及時(shí)出現(xiàn)。
代碼如下:
/**
* 掃描文件析显、刷新
*
* @param file 文件路徑
*/
public static void fileScan(String file) {
Uri data = Uri.parse("file://" + file);
//UserApplication.getInstance()這個(gè)是獲取我項(xiàng)目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());
}
}