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

发布于 2024-12-22 05:46:07 字数 484 浏览 2 评论 0原文

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

我使用搭载 Android 3.0 的华硕 eee Pad。

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

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

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

感谢您的帮助。

G。

My application does file operations on the SD card (delete or update file).
But when I connect the device to Windows 7 through USB, I do not see any changes. However I can confirm files where updated or deleted with adb shell.

I use an ASUS eee Pad with Android 3.0.

It seems devices running Android 3.0 have a different way to provide access to the file system (MTP instead of USB Mass Storage). I also read about how we can use MediaScannerConnection.scanFile to refresh the content of Windows File Explorer when adding a new file.

But how to trigger a refresh when files are deleted or updated?

I tried MediaScannerConnection.scanFile on the deleted file but it only creates an entry with size 0. MediaScannerConnection.scanFile on the whole folder does not work either.

Thank you for your help.

G.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

稳稳的幸福 2024-12-29 05:46:07

所以,正如之前评论中提到的。目前我发现的最好的方法是

sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED,
Uri.parse("file://" + Environment.getExternalStorageDirectory())));

“删除或更新文件后”似乎有效。

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

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

So, as mentioned in the comment before. For now the best I've found is

sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED,
Uri.parse("file://" + Environment.getExternalStorageDirectory())));

After a file was deleted or updated seems to work.

However, the device must be disconnected from USB. Otherwise you need to unplug and replug the device to see the changes.

NOTE:
On some devices this may trigger a onResume event on the current activity.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文