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

Android 以编程方式更新的SD卡文件不会在windows资源管理器中更新,android,file,windows-7,android-3.0-honeycomb,sd-card,Android,File,Windows 7,Android 3.0 Honeycomb,Sd Card,我的应用程序在SD卡上执行文件操作(删除或更新文件)。 但是,当我通过USB将设备连接到Windows 7时,我看不到任何更改。但是,我可以确认使用adb外壳更新或删除的文件 我使用安卓3.0的华硕eee平板电脑 运行安卓3.0的设备似乎有不同的方式提供对文件系统的访问(MTP而不是USB大容量存储)。我还了解了如何在添加新文件时使用MediaScannerConnection.scanFile刷新Windows文件资源管理器的内容 但是,当文件被删除或更新时,如何触发刷新 我在删除的文件上尝试

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

我使用安卓3.0的华硕eee平板电脑

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

但是,当文件被删除或更新时,如何触发刷新

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

谢谢你的帮助


G.

如前评论所述。现在我发现最好的是

sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED,
Uri.parse("file://" + Environment.getExternalStorageDirectory())));
在文件被删除或更新后,似乎可以正常工作

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

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

您的意思是当设备连接到USB时?如果是这样,那么这可能是预期的行为。不幸的是,没有。即使设备断开连接,我也可以在Windows 7文件资源管理器中看到删除的条目。我找到了答案元素。sendBroadcast(新的Intent(Intent.ACTION\u MEDIA\u挂载,Uri.parse(“文件:/”+Environment.getExternalStorageDirectory()));当设备未通过USB连接时,删除文件后执行此操作似乎有效。看起来像android平台中的一个bug。你所做的只是在安卓系统(未)挂载时从安卓系统访问存储,并提交对其所做的更改。恭喜解决方案。当你有能力时,请将你的回答标记为“已接受”,以便其他人可以从你的成功中学习。干杯~我正在创建pdf文件,每次都要拔掉并“重新”插入USB才能看到我的更改。。。