Android WebView Не разрешено загружать локальный ресурс - PullRequest
0 голосов
/ 03 октября 2018

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

Но по какой-то причине изображение не загружается, и я получаю следующее сообщение:

I/chromium: [INFO:CONSOLE(0)] "Not allowed to load local resource: file://data/user/0/{package_name_here}/files/images/382d26c2-5ff1-4082-93ab-2e34baa4ecbb.png"

Я на 100% уверен, что предоставил разрешения на выполнение и разрешения для веб-просмотра.

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

wv.getSettings().setJavaScriptEnabled(true);

    // Enable plugins
    wv.getSettings().setPluginState(WebSettings.PluginState.ON);

    // Increase the priority of the rendering thread to high
    wv.getSettings().setRenderPriority(WebSettings.RenderPriority.HIGH);

    // Enable application caching
    wv.getSettings().setAppCacheEnabled(true);

    // Enable HTML5 local storage and make it persistent
    wv.getSettings().setDomStorageEnabled(true);
    wv.getSettings().setDatabaseEnabled(true);

    wv.getSettings().setAllowFileAccess(true);
    wv.getSettings().setAllowFileAccessFromFileURLs(true);
    wv.getSettings().setAllowContentAccess(true);
    wv.getSettings().setAllowUniversalAccessFromFileURLs(true);

Текст HTML выглядит следующим образом:

 private String html = "<!DOCTYPE html>\n" +
        "<html>\n" +
        "    <head>\n" +
        "        \n" +
        "    </head>\n" +
        "    <body>\n" +
        "    \t<div >\n" +
        "\t\t    \n" +
        "\t\t    <div><img src=\"file://data/user/0/package_name_here/files/images/382d26c2-5ff1-4082-93ab-2e34baa4ecbb.png\"/></div>\n" +
        "\t\t</div>\n" +
        "    </body>\n" +
        "</html>";

Я загружаюhtml вот так:

mBinding.webView.loadData(html, "text/html", "UTF-8");

1 Ответ

0 голосов
/ 03 октября 2018

Как упомянуто don11995 в комментарии ниже, путь должен начинаться с 3 слешей: file: ///storage/emulated/0/Pictures/JPEG_20181001_155835_8344102725172812900.jpg

...