如何获得外部存储路径?

时间:2018-03-01 15:30:48

标签: java android

我想在我的Android应用程序上获得SD卡和内部存储位置。

我正在使用此代码。

String sdcard = Environment.getExternalStorageDirectory().toString();

返回storage/sdcard0

并且此代码也返回相同的

String sdcard = System.getenv("EXTERNAL_STORAGE");

我想用这段代码获取手机内存路径:

String internalpath = System.getenv("SECONDARY_STORAGE");

它会在我想要的 Android 4.4.2 上返回storage/emulated/0。但是,在 Android 6.0 中,它会返回null

请给我一个解决方案,以获取内部存储路径,如storage/emulated/0

提前感谢。

1 个答案:

答案 0 :(得分:0)

  

请给我一个解决方案,以获取内部存储路径,例如' storage / emulated / 0'。

Environment.getExternalStorageDirectory()通常会返回类似的路径,Android SDK会将其称为external storage

如果在您的设备上返回其他内容,则设备制造商(或自定义ROM开发人员)选择在该设备上执行此操作。这取决于外部存储所在的设备制造商,虽然大多数设备都将其作为板载闪存的一部分,但没有什么能阻止制造商将其放置在可移动介质上。如果您不喜欢这种行为,则需要与设备制造商或自定义ROM开发人员讨论。

Android SDK提供了另类方法,用于访问其所指的internal storageremovable storage