【发布时间】:2018-05-02 10:40:53
【问题描述】:
我是移动编程的新手,想从一个小的 Musicplayer-App 开始。我需要搜索所有以 .mp3、.m4a、.wav 等结尾的文件。为此,我想首先获取所有文件的列表,然后过滤掉音频文件。
但是,当我使用 getExternalStorageDirectory 获取存储路径时,它返回“/storage/3139-6333”,这显然是不正确的。
基本上我只是好奇为什么我会得到这个结果以及如何修复它。
假定允许 READ_EXTERNAL_STORAGE。
提前致谢。
String state = Environment.getExternalStorageState();
if ((Environment.MEDIA_MOUNTED.equals(state)||Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)))
{
File sd_card = Environment.getExternalStorageDirectory(); //"/storage/3139-6333"
File[] listFile = sd_card .listFiles(); //null
}
【问题讨论】:
-
您是否询问过
READ_EXTERNAL_STORAGE使用用户SD 卡的权限? (你也应该把它添加到你的manifest.xml) -
@Nofix 我的问题总体上很古怪,我希望我设法改进它。
-
您获得的存储名称对我来说听起来绝对正确。在我的设备上,它非常相似。