1

我在将外部 html 文件加载到 webview 时遇到问题。我以前做过这个,应该很容易,但由于某种原因,我不断得到网页不可用。

我知道这些文件在目录中,因为我自己使用文件资源管理器放置了它们。

String filename = "file:///"+ Environment.getExternalStorageDirectory() + File.separator + "Android/data/com.example/files/test_html2.html";
webview.loadUrl(filename);

我已经尝试将文件移动到根目录并在那里尝试,我已经删除了 file:// 并将其替换为 content:// 并且什么都没有。我在清单中具有读取权限。

有任何想法吗?

4

1 回答 1

7

不要file://自己创建 URL,因为你会搞砸它们。在这种情况下,我认为您在 之后有四个斜杠:,三个是您输入的,一个来自Environment.getExternalStorageDirectory()

相反,创建一个File对象并将其用作基础:

File f = new File(Environment.getExternalStorageDirectory(), "Android/data/com.example/files/test_html2.html");
webview.loadUrl(f.toURI().toURL());   // or use Uri.fromFile(f).toString() instead
于 2013-09-04T17:02:38.207 回答