android - environment.getExternalStorageDirectory() 显示甚至不存在的路径

标签 android

当我使用 Environment.getExternalStorageDirectory(); 打印 SD 存储路径时,它返回 storage/emulated/0 但是当我使用 DDMS 浏览 SD 存储时,根本没有这样的目录。可用目录是 storage/emulated/legacy

为什么 Environment.getExternalStorageDirectory(); 显示根本不存在的路径?

最佳答案

存在应用程序进程的路径。

Android,从 4.2 开始,支持每台设备多个帐户(最初仅适用于平板电脑,现在适用于从 5.0 开始的所有设备)。每个帐户都有自己独特的内部和外部存储区域。该框架将从 getExternalStorageDirectory() 等方法返回路径,这些路径对于运行您的应用程序的当前帐户持有人是正确的。这些位置根据实际文件系统位置映射到什么取决于 Android,作为其保护存储访问的努力的一部分。

关于android - environment.getExternalStorageDirectory() 显示甚至不存在的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27710093/

相关文章:

java - 我如何/在哪里可以 "stash"/在我的应用程序中保存数据?

java - 如果它是父类(super class)没有参数构造函数有空主体,默认构造函数如何用于实例化对象?

android - 如何判断 Android 应用程序是否在前台运行?

java - 如何在 MainActivity 中同时使用 AppBaseActivity 和 ActionBarActivity

java - tabHost.setup() 给出空指针异常(Android studio)

java - 自定义 ListView 适配器不适用于 List<List<String>> 而不是 String[]

android - 为什么RECEIVE_SMS和READ_SMS权限没有不同的提示框要求权限?

android - 缺少变体的 javaCompileTask

android - DDMS/ADB 未在 Mac OSX Mavericks 上列出 Google Glass

java - 根据当前位置/当前时区获取时间