Net::ERR_ACCESS_DENIED несмотря на установку всех соответствующих флагов WebViewAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Net::ERR_ACCESS_DENIED несмотря на установку всех соответствующих флагов WebView

Сообщение Anonymous »

Я пытаюсь загрузить HTML-файл, созданный при запуске приложения и сохраненный в:

Код: Выделить всё

/data/data/com.me.myapp/files/autogen.html
с помощью:

Код: Выделить всё

public class FileUtils {

public static void saveToInternalFile(Context ctx, String fname, String html) {
try (var fos = Files.newOutputStream(
Paths.get(ctx.getFilesDir().getAbsolutePath(), fname),
StandardOpenOption.CREATE, StandardOpenOption.TRUNCATE_EXISTING)) {
fos.write(html.getBytes(StandardCharsets.UTF_8));
} catch (IOException e) {
e.printStackTrace();
}
}

public static String constructInternalFileUrl(Context ctx, String filename) {
try {
File file = new File(ctx.getFilesDir(), filename);
return file.toURI().toURL().toString();
} catch (MalformedURLException e) {
e.printStackTrace();
return null;
}
}
}
С помощью Device Explorer я убедился, что файл существует и прекрасно читается в Edge, Firefox и Chrome.
Но пытаюсь загрузить в том же приложении, в котором он был создан (тот же сеанс среды выполнения), в WebView, как следующий URL-адрес:

Код: Выделить всё

file:///data/user/0/com.me.myapp/files/autogen.html
результат

Веб-страница по адресу file:///data/user/0/com.me.myapp /files/autogen.html не удалось загрузить, потому что: net::ERR_ACCESS_DENIED

И это несмотря на то, что были заданы настройки соответствующих флагов WebView:

Код: Выделить всё

WebSettings webSettings = getSettings();
webSettings.setDomStorageEnabled(true);
webSettings.setAllowContentAccess(true);
webSettings.setAllowFileAccessFromFileURLs(true);
webSettings.setAllowUniversalAccessFromFileURLs(true);

Что я мог упустить?
Обратите внимание: это не дубликат
  • net::ERR_ACCESS_DENIED (file:///data/user/0/packagename/files/appname/app_id/idex.html) в Android
  • ERR_ACCESS_DENIED в веб-просмотре в Android - только с SDK 30
потому что я уже реализовал все, что предлагалось в этих темах, но без особого успеха.

Подробнее здесь: https://stackoverflow.com/questions/793 ... view-flags
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»