这是我的代码,在PRE棒棒糖中运行良好。
public static void alertWebView(String url, Context c) {
final WebView webView = new WebView(c.getApplicationContext());
webView.clearCache(true);
webView.clearHistory();
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
webView.getSettings().setDefaultTextEncodingName("utf-8");
webView.getSettings().setPluginState(PluginState.ON);
webView.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
return true;
}
});
webView.setLongClickable(false);
AlertDialog.Builder builder = new AlertDialog.Builder(c);
builder.setInverseBackgroundForced(true);
builder.setPositiveButton("Bezár", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
}
}).setView(webView);
final AlertDialog dialog = builder.create();
webView.setWebChromeClient(new WebChromeClient() {
@Override
public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
return super.onJsAlert(view, url, message, result);
}
});
webView.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView view, String url) {
}
});
webView.loadUrl(url);
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
dialog.show();
}
}, 1000);
dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
}
04-21 11:18:48.425:W / JsDialogHelper(3997):无法创建对话框,WebView上下文不是活动
html是一个带有onclick和确认js对话框的按钮。