问题背景
ETTS项目过程中,向SD卡写入数据库文件作为与电脑交互的中间媒介;问题出现在吸入文件写入文件到SD卡后在手机端的文件管理系统中可以查看到,但是使用USB数据线连接电脑后无法显示新的文件,即出现了数据更新不同步的问题。
问题描述
SD卡数据刷新不及时。
问题来源
“android系统缓存没处理好这个”... 具体原因不清楚... ...
解决方法
(http://www.111cn.net/sj/android/44870.htm)
<1>. 通过 Intent.ACTION_MEDIA_MOUNTED 进行整个SD卡扫描:
1 public void sdScan(){ 2 Context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://"+ Environment.getExternalStorageDirectory()))); 3 }
<2>. 通过 Intent.ACTION_MEDIA_SCANNER_SCAN_FILE 扫描某个文件:
1 public void fileScan(String filePath){ 2 Uri data = Uri.parse("file://"+filePath); 3 Context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, data)); 4 }
注:filePath为文件在SD卡中的地址,当保存文件后,调用以上方法即可; sendBroadcast为类Context的一个方法。