MediaScanner完成android中的多媒体文件的扫描工作。例如,mediascanner扫描系统内存和SD卡文件之后,会将扫描的结果加载在数据库中,在Music这个应用程序中看到的显示在activity 的list列表上歌曲专辑名,流派,歌曲时长等信息,都是扫描后的结果放在数据库中,最后读到的数据库中的信息。
这里可以明白的一点是:多媒体数据库中的信息是由MediaScanner添加的。
MediaScanner这项功能使用到的三种android的基本组件:
(1)MediaScannerService(从Service中派生),完成扫描任务,并将扫描结果放入到媒体数据库中。
(2)MediaProvider(ContentProvider派生),针对媒体库进行相关操作请求,一般情况就是写,删,查,更操作。
(3)MediaScannerReceiver接收外界的扫描请求,这里可以看出它MediaScanner的对外接口。
(这里也是提个醒,不是按照MediaRecorder和MediaPlayer的接口那样的使用方式)
MediaScanner扫描工作的流程总结:
首先,外界应该有扫描请求,所有MediaScannerReceiver首先会接收这些请求,得到请求之后需要完成工作扫描工作,这个是由MediaScanner