Код: Выделить всё
public File getPathThumbnail() {
File dir;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
dir = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS) + "/AquaInfo/.FileImages/Thumbnail");
} else {
dir = new File(Environment.getExternalStorageDirectory() + "/AquaInfo/.FileImages/Thumbnail");
}
if (!dir.exists()) {
boolean success = dir.mkdirs();
if (!success) {
dir = null;
}
}
return dir;
}
В каталоге есть файлы. , и у меня активированы все необходимые разрешения.
Вот как я пытаюсь прочитать файл из этого каталога:
Код: Выделить всё
File directory = getPathThumbnail();
new Thread(() -> {
while (counter.get() < fichas.length - 3) {
try {
String desiredFileName;
if (fichas[counter.get() + 2].equals(getTipo(fichas[counter.get() + 2]))) {
desiredFileName = (com.aquarismo.removeSpecialCharacteres.funcRemoveSpecialCharacteres(fichas[counter.get() + 2].replace("\"", "").replace("/", "")) + "--" + fichas[counter.get() + 1] + "--").toLowerCase();
} else {
desiredFileName = (com.aquarismo.removeSpecialCharacteres.funcRemoveSpecialCharacteres(fichas[counter.get()].replace("\"", "").replace("/", "")) + "--" + fichas[counter.get() + 1] + "--").toLowerCase();
}
String finalDesiredFileName = desiredFileName;
File[] matchingFiles = directory.listFiles((dir, name) -> name.startsWith(finalDesiredFileName));
assert matchingFiles != null;
if (matchingFiles.length > 0) {
Arrays.sort(matchingFiles, Comparator.comparing(File::getName));
Arrays.sort(matchingFiles, new DadosFichaTecnica.FileNameComparator());
baseDados.setNomeImagemBaseDados(fichas[counter.get() + 1], matchingFiles[matchingFiles.length - 1].getName());
}
runOnUiThread(() -> {
counter.addAndGet(3);
progresso.setProgress(counter.get() / 3);
});
try {
Thread.sleep(2);
} catch (Exception ignored) {
}
} catch (Exception error) {
runOnUiThread(() -> {
counter.addAndGet(3);
progresso.setProgress(counter.get() / 3);
});
}
if (counter.get() >= fichas.length - 3) {
restartAplicacao("inicio");
}
}
}).start();
Как мне решить эту проблему? Я хочу скрыть файлы внутри папки из галереи, но при этом иметь к ним доступ из приложения для Android.
Мое тестовое устройство — Android 14.
Спасибо
Подробнее здесь: https://stackoverflow.com/questions/786 ... older-with