System.getenv(" EMULATED_STORAGE_TARGET")在Moto X Play(Android 6)上返回null

时间:2016-06-03 11:28:25

标签: android

我正在尝试使用此

在我的Android应用中获取模拟存储的路径
System.getenv("EMULATED_STORAGE_TARGET")

除了Moto X play(Android 6.0)之外,这在所有设备上都能正常工作。在这种情况下,它返回null,即使存在模拟存储。路径应为/storage/emulated/,但System.getenv("EMULATED_STORAGE_TARGET")返回null。我试图找到解决方案,但没有找到任何东西。有人可以帮帮我吗。谢谢!!

1 个答案:

答案 0 :(得分:0)

所以这是获得EMULATED_STORAGE_TARGET

的解决方法
List<String> paths = new ArrayList<>();
File[] files = context.getExternalFilesDirs(null);
for (File file : files) {
    String applicationSpecificAbsolutePath = file.getAbsolutePath();
    String emulatedRootPath = applicationSpecificAbsolutePath.substring(0, applicationSpecificAbsolutePath.indexOf("Android/data"));
    paths.add(emulatedRootPath);
}
//do what you want with the result paths

如果您有任何问题或建议,请告诉我