android - 自定义webview的jsalert ( onJsAlert) alert
2017-10-22 15:03
访问量: 5107
分类:
技术
有些时候,以混合式代码写出来的webview, 在原生app中,运行alert时,会待上“网址为xxx”的页面说道。。。
显得很奇怪。所以,我们要用android的override方法来重写它。
在activity中,调用如下代码:
final Context mapp = this;
webView.setWebChromeClient(new WebChromeClient(){
@Override
public boolean onJsAlert(WebView view, String url, String message, final android.webkit.JsResult result) {
new AlertDialog.Builder(mapp)
.setTitle("alert")
.setMessage(message)
.setPositiveButton(android.R.string.ok,
new AlertDialog.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
result.confirm();
}
}).setCancelable(false).create().show();
return true;
}
@Override
public boolean onJsConfirm(WebView view, String url, String message, final JsResult result) {
new AlertDialog.Builder(mapp)
.setTitle("confirm")
.setMessage(message)
.setPositiveButton(android.R.string.ok,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
result.confirm();
}
}).setNegativeButton(android.R.string.cancel,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
result.cancel();
}
}).create().show();
return true;
}
});