Jellybean上的getExternalStorage()和MTP行为

时间:2012-11-27 19:02:34

标签: android android-4.2-jelly-bean

有时,当我运行应用程序的开发版本时,我想导出数据库,以便将其复制到桌面,在那里查看数据库并确保正确编辑它。

通常我会调用Environment.getExternalStorageDirectory()并在那里复制数据库。然而,Galaxy Nexus上的Jellybean把我扔了一圈 - 我无法通过MTP看到文件! (Mac OS X文件传输)。如果我使用Wifi文件资源管理器浏览设备上的文件,那么我会看到数据库文件。

在做了一些研究后,我猜这是由于Jellybean的模拟用户特定的外部存储。这就是为什么它告诉我它正在写入/ storage / emulated / 0 /而不是/ sdcard。

有没有办法告诉Android“将此文件写入世界可读的位置(包括MTP),而不是仅将其提供给在同一用户下运行的应用程序”?

1 个答案:

答案 0 :(得分:2)

我遇到了同样的问题。我看不到我用“Android文件传输”在“下载”文件夹中写入的txt文件。我找到的唯一解决方案是在您编写文件的同一文件夹中编写一个额外的.txt文件,然后在“Astro文件管理器”等应用程序中打开该文件夹并删除额外的文件。现在打开“Android文件传输”,关闭它,然后再打开它。您现在应该出现所需的文件。

我使用/ storage / emulated / 0 / Download /作为路径,但它应该可以在任何其他文件夹中使用。

我知道这不是完美的解决方案,但就目前而言,这就是我的全部。 希望这对你也有用!