1. 简介
MediaScanner向上和MediaProvider.MediaScannerService交互, 响应其请求;
向下和JNI交互.
MediaScanner主要工作内容:
(1)接收MediaScannerService的scanDirectories和scanSingleFile请求
(2)获取各个ContentProvider 环境(Audio,Video,Image,File) initialize
(3)获取需要扫描文件列表,移除已删除文件信息 prescan
(4)通过media_jni(android_media_MediaScanner.cpp)调用底层接口处理扫描
(5)接收media_jni处理结果,在android_media_MediaScanner.cpp中保存一个MyMediaScannerClient用于调用MediaScanner
(6)保存获取的文件信息 postscan
代码位置:
frameworks/base/media/java/android/media/MediaScanner.java
2. scanDirectories
scanDirectories(String[] directories, String volumeName)
扫描文件夹,被MSS调用
MediaScanner处理文件夹的具体流程是:
在MediaScanner中
核心代码如下:

本文主要解析Android MediaScanner的工作流程,包括初始化ContentProvider、扫描文件夹、预扫描、后扫描及处理播放列表的过程,详细介绍了关键函数如scanDirectories、initialize、prescan、postscan和processDirectory的功能。
最低0.47元/天 解锁文章
1989

被折叠的 条评论
为什么被折叠?



