Получение случайных ошибок «Отказано в доступе» при доступе из ExternalFilesDir - PullRequest
0 голосов
/ 31 мая 2019

Я использую 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);

1 Ответ

0 голосов
/ 31 мая 2019

Если вы пытаетесь сохранить файл, вам следует запросить разрешение во время выполнения для записи файла в хранилище.

...