标题是问题。我正在使用libaums使用BufferedInput / OutputStream以两种方式传输文件,最后调用close()。然后我关闭UsbMassStorageDevice并退出应用程序。
但是,在Settings-> Storage中,我看到USB OTG存储仍然安装。它只能在“设置”中的弹出窗口中卸载。似乎没有合法的Android API来从代码中卸载USB驱动器。
由于我正在构建一个最小的UI /最小交互应用程序,这是一个主要的麻烦。但是,在没有明确卸载的情况下,我已经拔掉了很多次,并且复制的文件总是有效的(使用diff来检查)。
那么 - 复制文件并使用libaums调用close可以保证文件的完整传输吗?或者是否存在一些不能强制刷新的底层操作系统内存缓冲区,因此在不卸载的情况下拔出驱动器会导致文件损坏?
答案 0 :(得分:2)