我的设备是华为NEM-TL100H,运行Android 6.0。当我使用流动的代码获取SD卡路径时:
File sdcard = Environment.getExternalStorageDirectory();
但它返回
/storage/E635-0F94/
我确信读取和写入外部存储权限有请求,目标sdk版本在我的项目中是22。
有没有人遇到同样的问题?
我期望它会返回路径,例如/ storage / emulated / legacy /或/ storage / emulated / 0 /但不是/ storage / E635-0F94 /
实际上,在我将shell添加到设备和ls / storage文件夹之后,列出了4个子文件夹:E635-0F94,模拟,sdcard0,sdcard1。 E635-0F94是否是指向sdcard0或sdcard1的另一个链接?
答案 0 :(得分:-1)
获取所有数据:
ArrayList<String> filesList = new ArrayList<String>();
String sd_card = Environment.getExternalStorageDirectory().toString();
file = new File( sd_card ) ;
File list[] = file.listFiles();
for( int i=0; i< list.length; i++) {
filesList.add( list[i].getName() );
}
不要忘记在清单中添加权限:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>