【发布时间】:2014-08-20 22:40:39
【问题描述】:
我正在使用 Nexus 5 作为我的第一个 Android 应用的测试设备。当我通过 USB 将手机连接到我的 PC 时,它会在资源管理器中弹出,我可以访问设备上的不同文件和文件夹(就像设备是 U 盘一样......)。
我认为这些文件和文件夹将代表 External Storage,并且我的应用程序存储在 External Storage 中的每个文件/文件夹也可以通过 USB 访问。
虽然在我的应用程序中在External Storage 中创建文件/文件夹没有问题,但这些文件在可通过 USB 访问的文件和文件夹中不可见:
public static File getAppPuplicExternalStorageDir() {
File appDir = null;
try {
appDir = new File(Environment.getExternalStorageDirectory(), "MyApp");
appDir.mkdirs();
}
catch (Exception e) { }
return appDir;
}
...
File noMediaFile = new File(getAppPuplicExternalStorageDir(), ".nomedia");
noMediaFile.createNewFile();
...
此代码完美运行。我可以测试文件是否存在,删除文件,创建其他文件等,没有任何问题。
当我检查 appDir 时,它的路径为 /storage/emulated/0/MyApp/。一切正常,除了这个文件夹通过 USB 不可见。
外部存储和通过 USB 显示的文件/文件夹之间有区别吗?用户应该能够将文件下载到他的 PC 上。如何让我的文件通过 USB 可见?
【问题讨论】:
-
只需尝试将 getAppPuplicExternalStorageDir() 更改为其他字符串路径..
-
谢谢,但我不明白你的意思。能详细解释一下吗?