获取Android设备/模拟器根目录

时间:2012-08-19 15:52:06

标签: android android-emulator

我正在使用Eclipse / Ubuntu开发一个Android应用程序。像往常一样,我正在AVD模拟器上进行第一次拍摄。我想在我当前的仿真器和最终的物理设备(SD存储卡)上使用一个独特的文件夹结构。 对于这两种类型的虚拟和物理设备,通过程序(当然是Java)获取根目录的Android环境变量是什么,以便我可以获得我的起始引用? 谢谢 PS:我打开了DDMS文件资源管理器,以防答案引用那里的结构

3 个答案:

答案 0 :(得分:1)

您可以看到http://developer.android.com/reference/android/os/Environment.html使用getExternalStorageDirectory()方法获取“相同”目录

答案 1 :(得分:1)

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

如果要在存储空间中写入

,则需要用户权限
File root = Environment.getExternalStorageDirectory();

这将创建根目录的实例

答案 2 :(得分:1)

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()