80,361
社区成员
发帖
与我相关
我的任务
分享
public static final String ACTION_MEDIA_SCANNER_SCAN_DIR = "android.intent.action.MEDIA_SCANNER_SCAN_DIR";
public void scanDirAsync(Context ctx, String dir) {
Intent scanIntent = new Intent(ACTION_MEDIA_SCANNER_SCAN_DIR);
scanIntent.setData(Uri.fromFile(new File(dir)));
ctx.sendBroadcast(scanIntent);
}
方法二:每次产生一个文件就扫描一次,也是Mediascaner不过不是启动服务,也会阻塞当前线程,不过实时性好。
MediaScanner scanner = new MediaScanner(ctx);
Locale locale = ctx.getResources().getConfiguration().locale;
String language = locale.getLanguage();
String country = locale.getCountry();
scanner.setLocale(language + \"_\" + country);
scanner.scanSingleFile(filePath, volumeName, mimeType);
scanner.scanDirectories(directories, volumeName);