webChromeClient辅助 WebView 处理 Javascript 的对话框,网站图标,网站标题等等。
@Override public void onProgressChanged(WebView view, int newProgress) {//加载进度 super.onProgressChanged(view, newProgress); } @Override public void onReceivedTitle(WebView view, String title) {//网页标题 super.onReceivedTitle(view, title); } @Override public void onReceivedIcon(WebView view, Bitmap icon) {//ico super.onReceivedIcon(view, icon); } @Override public boolean onCreateWindow(WebView view, boolean isDialog, boolean isUserGesture, Message resultMsg) {//窗口创建回调 return super.onCreateWindow(view, isDialog, isUserGesture, resultMsg); } @Override public void onRequestFocus(WebView view) {//得到焦点回调 super.onRequestFocus(view); } @Override public void onCloseWindow(WebView window) {//窗口关闭回调 super.onCloseWindow(window); } @Override public boolean onJsAlert(WebView view, String url, String message, JsResult result) {//js弹窗回调,需要特制 //message 弹出的内容信息 //result用来发送用户的响应给JavaScrip的JsResult return super.onJsAlert(view, url, message, result); } @Override public boolean onJsConfirm(WebView view, String url, String message, JsResult result) {//显示javascript Confirm对话框 //message 弹出的内容信息 //result用来发送用户的响应给JavaScrip的JsResult return super.onJsConfirm(view, url, message, result); } @Override public boolean onJsPrompt(WebView view, String url, String message, String defaultValue, JsPromptResult result) {//显示一个prompt对话框 //message 弹出的内容信息。 // defaultValue prompt dialog默认显示的信息。 // result 用来发送用户的响应给JavaScrip的jspromptresult。 return super.onJsPrompt(view, url, message, defaultValue, result); } @Override public boolean onJsBeforeUnload(WebView view, String url, String message, JsResult result) {//通知应用程序显示一个对话框,让用户选择是否离开当前页面 //message 弹出的内容信息。 //result 用来响应用户的处理。 return super.onJsBeforeUnload(view, url, message, result); } @Override public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) { super.onGeolocationPermissionsShowPrompt(origin, callback); } @Override public void onGeolocationPermissionsHidePrompt() {//请求地理定位权限 super.onGeolocationPermissionsHidePrompt(); } @Override public void onPermissionRequest(PermissionRequest request) {//请求是否允许进行定位 super.onPermissionRequest(request); }