它在任何设备上都没有显示JSAlert。然后我设置了一个WebChromeClient:
webView.setWebChromeClient(new WebChromeClient() {
@Override
public boolean onJsAlert(WebView view, String url, String message,
JsResult result) {
return super.onJsAlert(view, url, message, result);
}
@Override
public boolean onJsPrompt(WebView view, String url, String message,
String defaultValue, JsPromptResult result) {
return super.onJsPrompt(view, url, message, defaultValue,
result);
}
});
现在它在所有 Lollipop 之前的设备上都可以正常工作,并且在 Lollipop 设备上不会显示任何警报。
Logcat 显示 "无法创建对话框,WebView 上下文不是一个 Activity"。
return super.onJsPrompt(view, url, message, defaultValue, result);
这一行?如果是,请移除super调用并使用您外部活动的上下文放置自定义对话框。 - bonnyz