Как настроить пешеходный переход на Android для загрузки файлов из локального внешнего хранилища?

Я разрабатываю приложение для Android с помощью Crosswalk, которое показывает файлы, которые мне нужно загрузить из веб-службы. Я бы предпочел загрузить файлы на внешнее хранилище. Но когда я пытаюсь загрузить их в Crosswalk WebView, я получаю сообщение об ошибке «Не разрешено загружать локальный ресурс:». Я попытался открыть их напрямую и через манифест json с такими свойствами csp (и некоторыми вариантами):

"csp" : "default-src 'self' file:// http:// https://" 

Мои текущие настройки довольно разрешительны:

   mXWalkView.getSettings().setAllowContentAccess(true);
   mXWalkView.getSettings().setAllowFileAccess(true);
   mXWalkView.getSettings().setDomStorageEnabled(true);
   mXWalkView.getSettings().setAllowFileAccessFromFileURLs(true);
   mXWalkView.getSettings().setAllowUniversalAccessFromFileURLs(true);
   mXWalkView.getSettings().setJavaScriptEnabled(true);

Но все равно безуспешно. Любые идеи? Это вообще возможно?

ОБНОВЛЕНИЕ

Чтобы уточнить и чтобы он не терялся в комментариях: я использую следующий код для загрузки файла:

String url = "file:///storage/emulated/0/wh_files/index.html";
mXWalkView.load(url, null);

person Julio Garcia    schedule 24.01.2017    source источник
comment
load files from the local external storage? И would rather download the files to the external storage ??? Теперь ОТ или ДО?   -  person greenapps    schedule 24.01.2017
comment
Приложения загружают файлы активов (js, css, изображения и т. д.) из веб-службы во внешнее хранилище, и я хотел бы, чтобы веб-просмотр открывал их и показывал оттуда.   -  person Julio Garcia    schedule 24.01.2017
comment
Нет кода, где загружается файл или используется один из этих файлов.   -  person greenapps    schedule 24.01.2017
comment
Я использую mXWalkView.load(url, null) для загрузки файла напрямую или mXWalkView.loadAppFromManifest(url, null) для загрузки файла из манифеста. Вызов успешен, проблема, как я уже сказал, заключается в том, что не разрешено загружать локальный ресурс: ошибка.   -  person Julio Garcia    schedule 24.01.2017
comment
Вы, конечно, должны сообщить нам значение url.getPath() и url.toString() и опубликовать часть исходного кода html, который пытается загрузить эти файлы. Как мы можем знать, что вы делаете?   -  person greenapps    schedule 24.01.2017
comment
URL-адрес: файл:///storage/emulated/0/wh_files/index.html.   -  person Julio Garcia    schedule 24.01.2017


Ответы (1)


Хорошо, я наконец смог отследить проблему, и она не имела ничего общего с реализацией. Похоже, на устройстве возникла аппаратная проблема, и файл, который я хотел загрузить, был поврежден.

Я предполагаю, что важный урок, который нужно усвоить, заключается в том, что ошибка "Не разрешено загружать локальный ресурс:" не всегда означает то, что она говорит.

person Julio Garcia    schedule 28.01.2017