安卓 SD卡写入文件后不能立即显示被写入的文件解决方法

每次通过输出流往SD卡写入文件,连接上电脑,用MTP的方式模拟一个移动磁盘,打开磁盘却没有这样一个文件,而通过adb的方式查看就有,造成这个现象的原因是,每次写入之后,MTP的数据库并没有更新,因为更新一次MTP数据库需要的带价比较大,所以只有在重启,挂载和用户手动发送Intent出发,故存入文件后需要手动发送Intent广播,出发一下MTP数据库的更新。
/**
      * 出发扫描 mtp下的文件,在保存文件到 sd卡下后,不能显示,故这里触发一下扫描机制,让手机连上电脑后,就可以读出文件了
      * @param fName,文件的完整路径名
      */
     public   void  fileScan(String fName){ 
        Uri data = Uri. parse("file:///" +fName); 
        sendBroadcast( new  Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE , data)); 
     } 


猜你喜欢

转载自blog.csdn.net/memoryjs/article/details/42969297