WebChromeClient

本文详细介绍了WebView中WebChromeClient的作用及其实现方法,包括处理JavaScript对话框、网站图标、网页标题等功能。通过具体的方法说明如何实现加载进度、窗口创建与关闭等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值