我的Samsung Galaxy Nexus出现了一个奇怪的问题,在我的应用程序中创建和写入的文件在手机本身(通过ES文件资源管理器)访问时显示正常,但是当我尝试查看相同的文件时在我的电脑上(通过USB连接手机),它们显示为0字节(打开时为空)。
这些应该是普通的文本文件,我使用新的File(dir,filename)创建并使用PrintWriter的write方法写入。我还使用MediaScannerConnection.scanFile将新文件添加到内容数据库。
我在以前的应用程序(> 6个月前)中使用了基本相同的代码而没有任何问题,所以我真的很困惑为什么它现在不起作用。有没有人有类似的问题?
更新
仍在解决这个......另外两个观察让我完全糊涂了:
我尝试在另一台PC上访问相同的文件,但它们运行良好。这让我觉得它可能是一些驱动程序问题,但这仍然是奇怪的,因为我根本没有改变驱动程序(我之前从未经历过这个问题)。
我尝试使用之前创建的其他应用程序创建文件。它使用基本相同的FileIO类来创建文件等。此应用程序没有遇到此类问题。
答案 0 :(得分:5)
我遇到了同样的问题。这与如何定义MTP(媒体传输协议)有关。
MTP有一些缺点。维基百科将它们列为:
- 打开文件时,用户必须等到文件复制到PC才能查看。 (注意:文件仍然在PC上 观看后驱动并移除设备)
- 不能从PC上创建设备上的文件,必须在PC上创建文件并复制文件。
- 不能编辑设备上的文件,必须先将文件复制出设备,然后才能保存编辑内容并将文件复制回来。
醇>
在我的情况下,我通过usb连接手机时拍摄的屏幕上限为0 kb(在PC上)。但是,拔掉USB插头解决了这个问题。
答案 1 :(得分:1)
我遇到了同样的问题,当我把手机插入其中时说文件夹是空的,但当我解锁手机时,我的电脑上出现了所有文件。我有相当严格的安全设置,但值得一试。