Я делаю видеоплеер для Android, но я не могу перечислить все видео из внутренней и внешней памяти.
Я использовал "/ mnt /" и "/ storage /" в качестве путей, но "/ mnt /" перечисляет все видео, даже кеш рекламы, а "/ storage /" не выводит видео из внутреннихПамять.Даже Environment.getExternalStorageDirectory().getAbsolutePath()
не отображает видео правильно.
directory = new File(Environment.getExternalStorageDirectory().getAbsolutePath());
private ArrayList<File> getFile(File directory)
{
File listFiles[] = directory.listFiles();
if(listFiles!=null && listFiles.length>0)
{
for(int i=0;i<listFiles.length;i++)
{
if(listFiles[i].isDirectory())
{
getFile(listFiles[i]);
}
else{
listPermission = false;
if(listFiles[i].getName().endsWith(".mp4") || listFiles[i].getName().endsWith(".mkv"))
{
for(int j=0;j<fileArrayList.size();j++)
{
if(fileArrayList.get(j).getName().equals(listFiles[i].getName()))
{
listPermission = true;
}
}
if(listPermission)
{
listPermission = false;
}else{
fileArrayList.add(listFiles[i]);
Set<File> set = new HashSet<>(fileArrayList);
fileArrayList.clear();
fileArrayList.addAll(set);
// Log.i("Files_Check", listFiles[i].getName());
}
}
}
}
}
return fileArrayList;
}