Я использую NanoHTTPD для подачи файлов в WebView и получаю случайную ошибку «Отказано в доступе» для некоторых файлов.
Это случается редко и не с конкретными файлами, и я наблюдал даже за пределами этой функции.
Похоже, ошибка Android, так как отказ в разрешении может произойти с одним файлом в папке из нескольких файлов.
Папки хранятся в getExternalFilesDir (Environment.DIRECTORY_DOWNLOADS).
private InputStream loadResourceStream(String uri) {
File initialFile = new File(uri);
InputStream targetStream = null;
try {
targetStream = new FileInputStream(initialFile);
} catch (FileNotFoundException e) {
logNonFatalError(e);
e.printStackTrace();
}
return targetStream;
}
Ошибка в строке
targetStream = new FileInputStream(initialFile);