Android调用MediaScanner进行扫描
16lz
2021-01-23
代码如下;
import android.content.Context;import android.media.MediaScannerConnection;import android.net.Uri;public class MediaScanner {private MediaScannerConnection mediaScanConn = null;private MusicSannerClient client = null;private String filePath = null;private String fileType = null;private String[] filePaths = null; /** * 然后调用MediaScanner.scanFile("/sdcard/2.mp3"); * */public MediaScanner(Context context) { //创建MusicSannerClientif (client == null) {client = new MusicSannerClient();}if (mediaScanConn == null) {mediaScanConn = new MediaScannerConnection(context, client);}}class MusicSannerClient implementsMediaScannerConnection.MediaScannerConnectionClient {public void onMediaScannerConnected() {if(filePath != null){mediaScanConn.scanFile(filePath, fileType);}if(filePaths != null){for(String file: filePaths){mediaScanConn.scanFile(file, fileType);}}filePath = null;fileType = null;filePaths = null;}public void onScanCompleted(String path, Uri uri) {// TODO Auto-generated method stubmediaScanConn.disconnect();}} /** * 扫描文件标签信息 * @param filePath 文件路径 eg:/sdcard/MediaPlayer/dahai.mp3 * @param fileType 文件类型 eg: audio/mp3 media/* application/ogg * */public void scanFile(String filepath,String fileType) {this.filePath = filepath;this.fileType = fileType; //连接之后调用MusicSannerClient的onMediaScannerConnected()方法mediaScanConn.connect();} /** * @param filePaths 文件路径 * @param fileType 文件类型 * */public void scanFile(String[] filePaths,String fileType){this.filePaths = filePaths;this.fileType = fileType;mediaScanConn.connect();}public String getFilePath() {return filePath;}public void setFilePath(String filePath) {this.filePath = filePath;}public String getFileType() {return fileType;}public void setFileType(String fileType) {this.fileType = fileType;}}
更多相关文章
- android assets/raw 大文件读取
- android 文档路径获取
- Android加载html实现文件上传功能
- Android中将assets中的文件拷贝到sd卡
- I2C-Tools 4.0使用说明及android平台移植,提供源码下载路径
- db文件查看工具SQLiteExpert
- android proc 虚拟文件系统
- Android 9 读写SD卡文件
- Android zip文件压缩解压缩