天天看點

深入了解Android——MediaScanner1.概述2. android.process.media分析3. MSR子產品分析

1.概述

    多媒體系統,是Android平台中非常龐大的一個系統.MediaScanner是多媒體系統中重要的一員, MediaScanner和媒體檔案掃描有關,例如,在music應用程式中見到的歌曲專輯名、歌曲時長等資訊, 都是通過它掃描對應的歌曲而得到。

2. android.process.media分析

    媒體掃描功能是通過一個APK實作的,它位于packages/providers/MediaProvider目錄下,通過APK的AndroidManifest.xml檔案可知,該APK運作時定義了一個程序名,如下:

    application android:process="android.process.media"    

從Android應用程式的四大元件來看,它使用了三個元件:

  • MediaScannerService(從Service派生)子產品負責掃描媒體檔案,然後将掃描的資訊插入資料庫。
  • MediaProvider(從ContentProvider派生)子產品負責處理針對這些媒體檔案的資料庫操作請求,例如查詢、删除、更新等
  • MediaScannerReceiver(從BroadcastReceiver派生)子產品負責接收外界發來的掃描請求,是MS對外的接口。

3. MSR子產品分析

    MSR的核心是MediaScannerReceiver,從BroadcastReceiver派生,專門用于接收廣播,其代碼如下:

public class MediaScannerReceiver extends BroadcastReceiver {
   
           

繼續閱讀