以编程方式更新的SD卡文件不会在Windows资源管理器中更新

Geo*_*ges 6 android file sd-card windows-7 android-3.0-honeycomb

我的应用程序在SD卡上执行文件操作(删除或更新文件).但是当我通过USB将设备连接到Windows 7时,我看不到任何变化.但是,我可以确认使用adb shell更新或删除的文件.

我使用的是华硕eee Pad和Android 3.0.

运行Android 3.0的设备似乎有不同的方式来提供对文件系统的访问(MTP而不是USB大容量存储).我还了解了MediaScannerConnection.scanFile在添加新文件时如何使用刷新Windows文件资源管理器的内容.

但是如何在删除或更新文件时触发刷新?

我尝试MediaScannerConnection.scanFile了删除的文件,但它只创建了一个大小为0的条目MediaScannerConnection.scanFile.整个文件夹也不起作用.

谢谢您的帮助.

G.

Geo*_*ges 10

所以,正如之前的评论所述.现在我发现的最好的是

sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED,
Uri.parse("file://" + Environment.getExternalStorageDirectory())));
Run Code Online (Sandbox Code Playgroud)

删除或更新文件后似乎工作.

但是,必须断开设备与USB的连接.否则,您需要拔下并重新插入设备才能看到更改.

注意:在某些设备上,这可能会触发当前活动的onResume事件.