我正在使用 Eclipse/Ubuntu 开发一个 Android 应用程序。像往常一样,我在 AVD 模拟器上进行了第一次拍摄。我想建立一个独特的文件夹结构,我可以在当前模拟器和最终物理设备(SD 存储卡)上使用它。对于虚拟和物理设备类型,通过程序(当然是 Java)获取根目录的 Android 环境变量是什么,以便我可以有我的起始参考?谢谢 PS:我打开了 DDMS 文件资源管理器,以防答案是指那里的结构
3 回答
您可以看到http://developer.android.com/reference/android/os/Environment.htmlgetExternalStorageDirectory()
使用方法获取“相同”目录
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
如果要在存储中写入,则需要用户权限
File root = Environment.getExternalStorageDirectory();
这将创建您的根目录的实例
Environment.getExternalStorageDirectory()
已弃用,应改为使用 Context#getExternalFilesDir(String)、MediaStore 或 Intent#ACTION_OPEN_DOCUMENT。
此方法在 API 级别 29 中已弃用。为了提高用户隐私,不建议直接访问共享/外部存储设备。当应用程序以 Build.VERSION_CODES.Q 为目标时,从此方法返回的路径不再可供应用程序直接访问。通过迁移到 Context#getExternalFilesDir(String)、MediaStore 或 Intent#ACTION_OPEN_DOCUMENT 等替代方案,应用程序可以继续访问存储在共享/外部存储上的内容。
https://developer.android.com/reference/android/os/Environment.html#getExternalStorageDirectory()