我有这个简单的html形式:
<form>
<input type="color" id="myID"/>
</form>
并且在Android Chrome中工作正常。我的问题是,当我将此代码放在 Web 视图中并单击颜色时,颜色选择器无法打开并且应用程序崩溃。我也尝试过使用 cordova 构建应用程序,但应用程序以同样的方式崩溃。
我没有在日志猫中看到任何错误。知道吗?
编辑
我已经用我的Nexus 7 - Android 5.0.1进行了测试并崩溃了。
这是我加载 html 内容的代码:
myWebView.getSettings().setJavaScriptEnabled(true);
myWebView.getSettings().setAllowFileAccess(true);
myWebView.getSettings().setAllowContentAccess(true);
myWebView.clearCache(true);
myWebView.getSettings().setDomStorageEnabled(true);
myWebView.getSettings().setBuiltInZoomControls(true);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
myWebView.getSettings().setAllowUniversalAccessFromFileURLs(true);
}
else {
Log.e("XXXX", "ERROR. API < 16");
}
myWebView.setWebChromeClient(new WebChromeClient() {
public boolean onConsoleMessage(ConsoleMessage cm) {
Log.e("XXXX", cm.message() + " -- From line "
+ cm.lineNumber() + " of "
+ cm.sourceId() );
return true;
}
});
myWebView.loadUrl("file:///android_asset/index.html");
我得到这个错误:
膨胀类 com.android.org.chromium.ui.ColorPickerAdvanced 时出错
我也遇到了同样的问题。但是在将 Web 视图更新到 50.0(20 Apr 16)后,这个版本解决了这个问题,我的 Cordova 应用程序在使用 html5 颜色选择器时不会崩溃。