1.webView调用native方法默认为JavaBridge线程,这个线程很特殊.
2.在JavaBridge线程中处理view,不会报错,但是会出现奇怪的问题.
3.如果在JavaBrdige线程中,加入耗时操作,会影响web的线程,也不要加入耗时的操作.
mWebView.setWebChromeClient(new WebChromeClient() {
@Override
public boolean onJsAlert(WebView view, String url, String message, final JsResult result) {
Log.e("url", url);
Log.e("message", message);
result.confirm();//必需要确认,否则只能调用一次!❤
Toast.makeText(MainActivity.this, "弹出--->", Toast.LENGTH_SHORT).show();
/* AlertDialog.Builder b = new AlertDialog.Builder(MainActivity.this);
b.setTitle("弹框");
b.setMessage(message);
b.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
result.confirm();
}
});
b.setCancelable(false);
b.create().show();*/
return true;//返回true不执行JS的alert窗口❤
}
});
网友评论