Android 网络视图和 HTML5 Canvas

Android WebView and HTML5 Canvas

我有一个带有 canvas 组件的简单 HTML 文件,当我将它加载到 Android 网络浏览器时,它显示了所有内容,但是当我尝试从我的应用程序在 WebView 中,没有显示任何内容。

我试图从本地网络服务器加载相同的文件,但没有成功。我做错了什么?

这里是代码:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    mWebView = new WebView(this);
    setContentView(mWebView);
    mWebView.setWebChromeClient(new WebChromeClient());
}

@Override
protected void onDestroy() {
    super.onDestroy();
}

@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);
}

@Override
protected void onResume() {
    super.onResume();
    mWebView.loadUrl("http://10.0.10.92:8000");
}

如果网页包含 "normal" HTML,一切正常。这似乎是 canvas 元素的问题。

您似乎没有为网络视图启用 javascript。

myWebView.getSettings().setJavaScriptEnabled(true);

使用 WebChromeClient 并在您的网络视图中启用 JavaScript

myWebView.setWebChromeClient(chromeClient);
myWebView.getSettings().setJavaScriptEnabled(true);