標籤:android mediascanner sdcard
1. 執行掃描只有系統開機的時候才會執行MediaScanner,其它情景下需要手動執行掃描(拍攝,下載等)。
手動執行掃描的方法是發送MediaScanner廣播:
1.1 掃描指定檔案:
Intent.ACTION_MEDIA_SCANNER_SCAN_FILE
1.2 掃描指定目錄:
“android.intent.action.MEDIA_SCANNER_SCAN_DIR”
<span style="font-size:14px;">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))));</span>
2. 監聽掃描2.1 開始掃描:Intent.ACTION_MEDIA_SCANNER_STARTED
2.2 掃描完成:
Intent.ACTION_MEDIA_SCANNER_FINISHED
<span style="font-size:14px;">IntentFilter filter = new IntentFilter();filter.addAction(Intent.ACTION_MEDIA_SCANNER_FINISHED);filter.addAction(Intent.ACTION_MEDIA_SCANNER_STARTED);registerReceiver(receiver, filter);</span>
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 |
Android MediaScanner使用簡介