And*_*ord 3 usb storage android file
我使用Nexus 5作为我的第一个Android应用程序的测试设备.当我通过USB将手机连接到我的PC时,它会在浏览器中弹出,我可以访问设备上的不同文件和文件夹(就像设备是USB记忆棒一样......).
我认为这些文件和文件夹代表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();
...
Run Code Online (Sandbox Code Playgroud)
这段代码完美无缺.我可以测试文件是否存在,删除文件,创建其他文件等没有任何问题.
当我检查appDir时,它有路径/storage/emulated/0/MyApp/.一切正常,除了通过USB看不到这个文件夹.
外部存储和通过USB访问的文件/文件夹之间有区别吗?用户应该能够将文件下载到他的PC.如何设法通过USB显示我的文件?
这些文件在可通过USB访问的文件和文件夹中不可见
一旦将它们MediaScannerConnection编入索引,它们就会成为.您可以使用scanFile()on MediaScannerConnection来更快地实现这一点.
另请注意,用户可能需要在其MTP客户端(例如,Windows资源管理器)中使用"刷新"或"重新加载"选项来查看文件,甚至可能需要拔出/重新插入设备,因为某些MTP客户端会缓存目录列表.
当我检查appDir时,它有路径/ storage/emulated/0/MyApp /.一切正常,除了通过USB看不到这个文件夹.
这将是MyApp/外部存储根目录下的目录,至少对于手机而言.对于具有辅助用户的平板电脑,MyApp/当用户登录平板电脑时,该目录将对用户可见.该storage/emulated/0/路径是动态的,要将您的应用程序的代码写入到正确的位置.
另外,请尽量不要使用getExternalStorageDirectory()并弄乱用户的外部存储空间.如果这些是用户应该操作的文件,请尝试将它们放在指定的位置Environment.getExternalStoragePublicDirectory().
| 归档时间: |
|
| 查看次数: |
2829 次 |
| 最近记录: |