Android MediaScanner使用简单介绍


1. 运行扫描

仅仅有系统开机的时候才会运行MediaScanner,其他情景下须要手动运行扫描(拍摄,下载等)。


手动运行扫描的方法是发送MediaScanner广播:

1.1 扫描指定文件:

Intent.ACTION_MEDIA_SCANNER_SCAN_FILE


1.2 扫描指定文件夹:

“android.intent.action.MEDIA_SCANNER_SCAN_DIR”

sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(new File(path))));
sendBroadcast(Intent(“android.intent.action.MEDIA_SCANNER_SCAN_DIR”, Uri.(File(dir))));


2. 监听扫描

2.1 開始扫描:

Intent.ACTION_MEDIA_SCANNER_STARTED

2.2 扫描完毕:

Intent.ACTION_MEDIA_SCANNER_FINISHED


IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_MEDIA_SCANNER_FINISHED);
filter.addAction(Intent.ACTION_MEDIA_SCANNER_STARTED);
registerReceiver(receiver, filter);



3. 监听SDCard

sd卡被插入,且已经挂载 Intent.ACTION_MEDIA_MOUNTED
sd卡存在,但还没有挂载 Intent.ACTION_MEDIA_UNMOUNTED
sd卡被移除 Intent.ACTION_MEDIA_REMOVED
sd卡作为 USB大容量存储被共享,挂载被解除 Intent.ACTION_MEDIA_SHARED
sd卡已经从sd卡插槽拔出,可是挂载点还没解除 Intent.ACTION_MEDIA_BAD_REMOVAL
開始扫描 Intent.ACTION_MEDIA_SCANNER_STARTED
扫描完毕 Intent.ACTION_MEDIA_SCANNER_FINISHED


原文地址:https://www.cnblogs.com/zhchoutai/p/7400677.html