Android 在 WebView 中显示 MDWiki

Android show MDWiki in WebView

我需要用 WebView 打开 MDWiki。 所以我从 android_asset 加载 index.html。 第一个错误是他没有找到 config.json 文件。我自己创造了这个。然后我有 favicon.png 的错误。我现在为此使用普通图片。 但他仍然不加载 wiki。 我试图只加载 .md 文件。但这就像将它加载到文本编辑器中一样。 加载 .md 文件时出现一些问题。 这是我的代码:

private WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    webView=(WebView) findViewById(R.id.webView);
    webView.getSettings().setAllowContentAccess(true);
    webView.getSettings().setAllowFileAccess(true);
    webView.getSettings().setJavaScriptEnabled(true);
    webView.getSettings().setAllowUniversalAccessFromFileURLs(true);
    webView.getSettings().setLoadsImagesAutomatically(true);
    webView.loadUrl("file:///android_asset/index.html");
}

这是logcat:

[INFO:CONSOLE(1)] "Uncaught SyntaxError: Unexpected identifier", 来源: file:///android_asset/index.html#!index.md (1)
[INFO:CONSOLE(199)] "Uncaught TypeError: Cannot read property 'theme' of null", 来源: file:///android_asset/index.html#!index.md (199)
[INFO:CONSOLE(198)] “[FATAL] 在阶段完成回调超时:postgimmick。你是否忘记了 .subscribe() 中的 done() 调用?”,来源:file:///android_asset/index .html#!index.md (198)
[INFO:CONSOLE(198)] “[FATAL] stage postgimmick failed 运行 subscribed function: function (b){a(e);void 0!==window.localStorage.theme&&c||f(d) ,b()}", 来源: file:///android_asset/index.html#!index.md (198)

我回答了我自己的问题。 我使用 cwac-anddown 读取文件并用 HTML 组成一个字符串。 普通的 webview 可以使用 LoadDataWithBaseURL 函数打开字符串。 cwac-anddown 是一个将 markdown 文件转换为 html 字符串的库。它使用 NDK,应该在尝试之前安装。 https://github.com/commonsguy/cwac-anddown 下面是如何安装它,或者你可以通过 AAR 来安装它。