1. 简介
实现对文件夹的递归扫描
libmedia – libmedia.so
frameworks\av\media\libmedia\MediaScanner.cpp
2. 对文件的扫描
由JNI调用processDirectory,然后由doProcessDirectory和doProcessDirectoryEntry实现对文件夹的递归扫描。
2.1 doProcessDirectory
循环扫描该文件夹内的所有项
MediaScanResult MediaScanner::doProcessDirectory(
char *path, int pathRemaining, MediaScannerClient &client, bool noMedia) {
char* fileSpot = path + strlen(path);
struct dirent* entry;
.....
// Treat all files as non-media in directories that contain a ".nomedia"