1. 执行扫描

只有系统开机的时候才会执行MediaScanner,其它情景下需要手动执行扫描(拍摄,下载等)。
手动执行扫描的方法是发送MediaScanner广播:

1.1 扫描指定文件:

Intent.ACTION_MEDIA_SCANNER_SCAN_FILE


1.2 扫描指定目录:

“android.intent.action.MEDIA_SCANNER_SCAN_DIR”

sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(new File(path))));sendBroadcast(Intent(“android.intent.action.MEDIA_SCANNER_SCAN_DIR”, Uri.(File(dir))));


2. 监听扫描

2.1 开始扫描:

Intent.ACTION_MEDIA_SCANNER_STARTED

2.2 扫描完成:

Intent.ACTION_MEDIA_SCANNER_FINISHED


IntentFilter filter = new IntentFilter();filter.addAction(Intent.ACTION_MEDIA_SCANNER_FINISHED);filter.addAction(Intent.ACTION_MEDIA_SCANNER_STARTED);registerReceiver(receiver, filter);



3. 监听SDCard

sd卡被插入,且已经挂载 Intent.ACTION_MEDIA_MOUNTED
sd卡存在,但还没有挂载 Intent.ACTION_MEDIA_UNMOUNTED
sd卡被移除 Intent.ACTION_MEDIA_REMOVED
sd卡作为 USB大容量存储被共享,挂载被解除 Intent.ACTION_MEDIA_SHARED
sd卡已经从sd卡插槽拔出,但是挂载点还没解除 Intent.ACTION_MEDIA_BAD_REMOVAL
开始扫描 Intent.ACTION_MEDIA_SCANNER_STARTED
扫描完成 Intent.ACTION_MEDIA_SCANNER_FINISHED


更多相关文章

  1. 一款常用的 Squid 日志分析工具
  2. GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
  3. RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
  4. Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
  5. Android(安卓)studio项目配置的.gitignore文件
  6. emulator:ERROR:Unable to load VM from snapshot.
  7. 二.系统编译--Ubuntu14.04上搭建android源码编译环境
  8. Android(安卓)Ant 编译
  9. Android(安卓)安卓Unable to find method 'org.gradle.api...

随机推荐

  1. 使用Eclipse开发Android
  2. android init.rc详解
  3. Android(安卓)带有弹出收缩动画的扇形菜
  4. 从Android中Activity之间的通信说开来
  5. android——wifi系统架构
  6. [Android] AsyncTask使用实例---加载网络
  7. Android(安卓)音频源码目录
  8. Android(安卓)使用Vitamio实现播放视频(
  9. android拦截短信并屏蔽系统的Notificatio
  10. [Network]Android(安卓)N Ethernet新IP获