Android System.getenv(“辅助存储”)在某些设备上返回null
我正在尝试获取android设备上的外部存储列表,在一些设备中,还有指令Android System.getenv(“辅助存储”)在某些设备上返回null,android,storage,external,Android,Storage,External,我正在尝试获取android设备上的外部存储列表,在一些设备中,还有指令System.getenv(“SECONDARY_STORAGE”)返回null 我正在使用解决方案来实现这一点,效果很好,但在某些设备中,我遇到了这个问题 有人知道在什么情况下,System.getenv(“辅助存储”)可以返回null 非常感谢我的实验, 当您调用System.getenv(“辅助存储”)时,一些旧的HTC设备将返回null 我发现这种设备中的实际microSD路径是安装在 /storage/sdcard
System.getenv(“SECONDARY_STORAGE”)虽然sd卡安装在设备中(4.1.1),但代码>返回null
我正在使用解决方案来实现这一点,效果很好,但在某些设备中,我遇到了这个问题
有人知道在什么情况下,System.getenv(“辅助存储”)
可以返回null
非常感谢我的实验,
当您调用System.getenv(“辅助存储”)时,一些旧的HTC设备将返回null
我发现这种设备中的实际microSD路径是安装在
/storage/sdcard0/ext_sd/
/sdcard2/
/mnt/sdcard/ext_sd/
由于外部存储环境变量由手机制造商定义。
我们没有一个API来精确获取microSD路径。这里是解决方案。
试试看
首先获取列表中的所有文件
var file=new Java.IO.File("storage/");
var listOfStorages=file.ListFiles();
var isSDPresent=false;
if(listOfStorages[1].Name.Containes("emulated")||listOfStorages[0].Name.Containes("-"))
{
isSDPresent=true;
}
感谢您提供这段代码片段,它可能会提供一些即时帮助。通过说明为什么这是一个很好的解决问题的方法,正确地解释它的教育价值,并将使它对未来有类似但不完全相同问题的读者更有用。请在回答中添加解释,并说明适用的限制和假设。