1

在我的应用程序中操作文件时,我遇到了文件损坏的问题。见这里这里。看起来好像 FileOutputStream 没有正确关闭,但我几乎 100% 确定此时此问题不是我的代码或我正在使用的库。流正在被正确地刷新和关闭。

我已经设法确定只有当我的手机作为媒体设备连接并且 Windows 可以访问 sdcard 时才会出现问题(没有抛出异常并且一切似乎都正常工作但输出文件已损坏,缺少几个字节 - 结束文件信息)。关闭 USB 调试并不能修复它。将手机与计算机断开连接,然后运行应用程序即可解决此问题。

我的问题是,如何以编程方式实现相同的修复?我努力了:

this.sendBroadcast(new Intent(Intent.ACTION_MEDIA_UNMOUNTED, Uri
                .parse("file://")));

this.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SHARED, Uri
                .parse("file://")));

这似乎没有任何影响,文件仍然损坏。我已经用 Google 搜索了,但没有找到我需要做的事情。

如果做不到这一点,我可以检查什么来警告用户先断开设备?

这个特殊的设备没有真正的可移动 sdcard,它是一个 Htc One GPE。

4

0 回答 0