如何在Android上设置crosswalk以从本地外部存储加载文件?

时间:2017-01-24 09:28:58

标签: android android-webview crosswalk

我正在Android上使用Crosswalk开发一个应用程序,它显示我需要从Web服务下载的文件。我宁愿将文件下载到外部存储器。但是当我尝试将它们加载到Crosswalk WebView中时,我得到一个"不允许加载本地资源:"错误。我尝试直接打开它们并通过带有csp属性的json清单(以及一些变体):

"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);

1 个答案:

答案 0 :(得分:1)

好的,我终于能够找到问题并且与实现没有任何关系。设备上似乎存在硬件问题,我想加载的文件已损坏。

我想要学到的重要一课是“不允许加载本地资源:”错误并不总是意味着它所说的。