8

我的三星 Galaxy Nexus 有一个奇怪的问题,在我的应用程序中创建和写入的文件在手机本身(通过 ES 文件资源管理器)上访问时显示正常,但是当我尝试在我的 PC 上查看相同的文件时(通过 USB 连接手机),它们显示为 0 字节(打开时为空)。

这些应该是普通的文本文件,我使用 new File(dir, filename) 创建并使用 PrintWriter 的 write 方法写入。我还使用 MediaScannerConnection.scanFile 将新文件添加到内容数据库。

我在以前的应用程序(> 6 个月前)中使用了基本相同的代码,没有任何问题,所以我真的很困惑为什么它现在不起作用。有没有人遇到过类似的问题?

更新:

仍在解决这个问题......另外两个观察结果让我完全困惑:

  1. 我尝试在另一台 PC 上访问相同的文件,它们运行良好。这让我认为这可能是一些驱动程序问题,但这仍然很奇怪,因为我根本没有更改驱动程序(我之前从未遇到过这个问题)。

  2. 我尝试使用我之前创建的不同应用程序创建文件。它使用基本相同的 FileIO 类来创建文件等。此应用程序没有遇到此类问题。

4

2 回答 2

5

我遇到了同样的问题。这与如何定义 MTP(媒体传输协议)有关。

MTP 有一些缺点。维基百科将它们列为:

  1. 打开文件时,用户必须等到文件复制到 PC 后才能查看。(注:查看后文件保留在PC硬盘上,设备被移除)
  2. 不能从 PC 在设备上创建文件,文件必须在 PC 上创建并复制过来。
  3. 不能在设备上编辑文件,必须先从设备上复制文件,然后才能保存编辑内容并将文件复制回来。

就我而言,我在通过 USB 连接手机时拍摄的屏幕截图大小为 0 kb(在 PC 上)。但是,拔掉和插入USB解决了这个问题。

于 2013-07-22T11:59:30.523 回答
1

我遇到了同样的问题,当我将手机插入时,它说文件夹是空的,但是当我解锁手机时,所有文件都出现在我的电脑上。我有相当严格的安全设置,但值得一试。

于 2015-10-08T02:20:49.347 回答