getExternalFilesDirs()不返回SD卡文件夹

时间:2015-09-03 23:47:10

标签: android

有没有可靠的方法在Android设备上找到外部SD卡文件夹? (KitKat及其后)

我的理解是,从KitKat开始,您可以使用getExternalFilesDirs(null)来获取包括辅助SD卡在内的可用存储列表。

但是,在插入了SD卡的Lenovo A3500平板电脑上,getExternalFilesDirs()仅返回一个条目"/storage/emulated/0/Android/data/<app>/files"。通过文件管理器可以看到"/storage/sdcard0"(内部闪存)和"/storage/sdcard1"(外部SD卡),但辅助SD在getExternalFilesDir()返回的一个条目的列表中不可用。

某些制造商是否决定不通过该标准化API导出SD文件夹?是否有其他方法可以更好地在设备上可靠地找到额外的存储空间?

设备是联想A3500与Android 4.4.2

1 个答案:

答案 0 :(得分:-1)

如果您高于4.4以上,并且需要获取sd卡文件目录,我会提供解决方案。

val externalStorageVolumes: Array<out File> =
            ContextCompat.getExternalFilesDirs(this.context, null)
val secondaryExternalStorage = externalStorageVolumes[1] //Sd_card files directory

如果存在Sd卡,则阵列大小将为2。第一个是仿真存储,下一个是Sd卡存储。