公共构造器(Public Constructors)
public WebChromeClient ()
添加自 API level 1
公共方法(Public Methods)
getDefaultVideoPoster
public Bitmap getDefaultVideoPoster ()
添加自 API level 7
Html中,视频(video)控件在没有播放的时候将给用户展示一张“海报”图片(预览图)。其预览图是由Html中video标签的poster属性来指定的。如果开发者没有设置poster属性, 则可以通过这个方法来设置默认的预览图。
返回值 | |
---|---|
Bitmap | 设置预览图的默认图片,或者为空。 |
getVideoLoadingProgressView
public View getVideoLoadingProgressView ()
添加自 API level 7
播放视频时,在第一帧呈现之前,需要花一定的时间来进行数据缓冲。ChromeClient可以使用这个函数来提供一个在数据缓冲时显示的视图。 例如,ChromeClient可以在缓冲时显示一个转轮动画。
返回值
参数 | |
---|---|
View | 显示一个视频加载中的视图。 |
getVisitedHistory
public void getVisitedHistory (ValueCallback<String[]> callback)
添加自 API level 7
获得所有访问历史项目的列表,用于链接着色。
onCloseWindow
public void onCloseWindow (WebView window)
添加自 API level 1
通知主机主机应用WebView关闭了,并在需要的时候从view系统中移除它。此时,WebCore已经停止窗口中的所有加载进度,并在javascript中移除了所有cross-scripting的功能。
参数 | |
---|---|
window | 需要关闭的webview。 |
onConsoleMessage
public void onConsoleMessage (String message, int lineNumber, String sourceID)
添加自 API level 7
该方法在 API level 8 被弃用
使用 onConsoleMessage(ConsoleMessage) 来替代。
将JavaScript的调试信息提交给主机应用。ChromeClient覆写此方法来展示调试过程中的日志。
参数 | |
---|---|
message | 报告的错误消息。 |
lineNumber | 错误的行号。 |
sourceID | 导致错误的源文件的名称。 |
public boolean onConsoleMessage (ConsoleMessage consoleMessage)
添加自 API level 8
将JavaScript的调试信息提交给主机应用。ChromeClient覆写此方法来展示调试过程中的日志。
参数 | |
---|---|
consoleMessage | 包含详细调试信息 |
返回值 | |
---|---|
true | 如果消息是由客户端处理。 |
onCreateWindow
public boolean onCreateWindow (WebView view, boolean isDialog, boolean isUserGesture, Message resultMsg)
添加自 API level 1
请求主机应用创建一个新窗口。如果主机应用选择响应这个请求,则该方法返回true,并创建一个新的WebView,将其插入到视图系统中,并将其提供的resultMsg作为参数提供给新的WebView。 如果主机应用选择不响应这个请求时,则该方法返回false。 默认情况下,该方法不做任何处理并返回false。
参数 | |
---|---|
view | 请求新窗口的WebView。 |
isDialog | 如果是true,代表这个新窗口只是个对话框,如果是false,则是一个整体的大小的窗口。 |
isUserGesture | 如果是true,代表这个请求是用户触发的,例如点击一个页面上的一个连接。 |
resultMsg | 当一个新的WebView被创建时这个只被传递给他,resultMsg.obj是一个WebViewTransport的对象,它被用来传送给新创建的WebView,使用方法:WebView.WebViewTransport.setWebView(WebView) |
返回值
这个方法如果返回true,代表这个主机应用会创建一个新的窗口,否则应该返回fasle。如果你返回了false,但是依然发送resulMsg会导致一个未知的结果。
onExceededDatabaseQuota
public void onExceededDatabaseQuota (String url, String databaseIdentifier, long quota, long estimatedDatabaseSize, long totalQuota, WebStorage.QuotaUpdater quotaUpdater)
添加自 API level 5
该方法在 API level 19 被弃用
该方法将不再被调用; WebView现在使用HTML5 / JavaScript Quota Management API.
通知应用程序webview内核web sql 数据库超出配额,请求是否扩大数据库磁盘配额。默认行为是不会增加数据库配额。
参数 | |
---|---|
url | 触发这个数据库配额的url地址 |
databaseIdentifier | 指示出现数据库超过配额的标识。 |
quota | 原始数据库配额的大小,字节单位bytes。 |
estimatedDatabaseSize | 到达底线的数据大小,字节单位bytes。 |
totalQuota | 总的数据库配额大小,字节单位bytes。 |
quotaUpdater | 更新数据库配额的对象,可以使用 quotaUpdater.updateQuota(newQuota);配置新的数据库配额大小。 |
onGeolocationPermissionsHidePrompt
public void onGeolocationPermissionsHidePrompt ()
添加自 API level 5
当前一个调用onGeolocationPermissionsShowPrompt() 取消时,通知主机应用请求地理定位权限。隐藏相关的UI。
onGeolocationPermissionsShowPrompt
public void onGeolocationPermissionsShowPrompt (String origin, GeolocationPermissions.Callback callback)
添加自 API level 5
当前页面请求是否允许进行定位。
参数 | |
---|---|
origin | 权限设置的源地址。 |
callback | GeolocationPermissions的回调。 |
GeolocationPermissions.Callback
public void invoke(String origin, boolean allow, boolean retain);
参数 | |
---|---|
origin | 权限设置的源地址。 |
allow | 是否允许定位。 |
retain | 当前的选择是否让内核记住。 |
onHideCustomView
public void onHideCustomView ()
添加自 API level 7
退出视频通知。
onJsAlert
public boolean onJsAlert (WebView view, String url, String message, JsResult result)
添加自 API level 1
通知应用程序显示javascript alert对话框,如果应用程序返回true内核认为应用程序处理这个消息,返回false,内核自己处理。
参数 | |
---|---|
view | WebView的实例。 |
url | 当前请求弹出javascript 对话框 webview 加载的url地址。 |
message | 弹出的内容信息。 |
result | 用来响应用户的处理。 |
返回值 | 参数 |
---|---|
boolean | 客户端是否处理alert对话框。 |
onJsBeforeUnload
public boolean onJsBeforeUnload (WebView view, String url, String message, JsResult result)
添加自 API level 1
通知应用程序显示一个对话框,让用户选择是否离开当前页面,这个回调是javascript中的onbeforeunload事件,如果客户端返回true,内核会认为客户端提供对话框。默认行为是return false。
参数 | |
---|---|
view | WebView的实例。 |
url | 当前请求弹出javascript 对话框 webview 加载的url地址。 |
message | 弹出的内容信息。 |
result | 用来响应用户的处理。 |
返回值 | |
---|---|
boolean | 客户端是否处理alert对话框。 |
onJsConfirm
public boolean onJsConfirm (WebView view, String url, String message, JsResult result)
添加自 API level 1
通知应用程序显示javascript Confirm对话框,如果应用程序返回true内核认为应用程序处理这个消息,返回false,内核自己处理。
参数 | |
---|---|
view | WebView的实例。 |
url | 当前请求弹出javascript 对话框 webview 加载的url地址 |
message | 弹出的内容信息。 |
result | 用来发送用户的响应给JavaScrip的JsResult |
返回值 | |
---|---|
boolean | 客户端是否处理提示对话框。 |
onJsPrompt
public boolean onJsPrompt (WebView view, String url, String message, String defaultValue, JsPromptResult result)
添加自 API level 1
通知应用程序显示一个prompt对话框。如果应用程序返回true内核认为应用程序处理这个消息,返回false,内核自己处理。
参数 | |
---|---|
view | WebView的实例。 |
url | 当前请求弹出javascript 对话框 webview 加载的url地址。 |
message | 弹出的内容信息。 |
defaultValue | prompt dialog默认显示的信息。 |
result | 用来发送用户的响应给JavaScrip的jspromptresult。 |
返回值 | |
---|---|
boolean | 客户端是否处理提示对话框。 |
onJsTimeout
public boolean onJsTimeout ()
添加自 API level 7
该方法在 API level 17 被弃用
这种方法将不再被支持调用
告诉客户端JavaScript执行发生超时。让客户端决定是否中断执行。如果客户端返回true,JavaScript执行将会中断。如果客户端返回false,将继续执行。注意:继续执行的话,超时计数器将会被重置,回调将继续出现在下次JavaScript没有完成的检查点。
返回值 | |
---|---|
boolean | JavaScript执行是否应该被打断。 |
onProgressChanged
public void onProgressChanged (WebView view, int newProgress)
添加自 API level 1
通知应用网页的加载进度。
参数 | |
---|---|
view | WebView的实例。 |
newProgress | 当前页面载入进度,为代表 一个0到100之间的整数。 |
onReachedMaxAppCacheSize
public void onReachedMaxAppCacheSize (long requiredStorage, long quota, WebStorage.QuotaUpdater quotaUpdater)
添加自 API level 7
该方法在 API level 19 被弃用
该方法将不再被调用; WebView现在使用HTML5 / JavaScript Quota Management API.
通知应用程序内核已经到达最大的appcache。appcache是HTML5针对offline的一个数据处理标准。
参数 | |
---|---|
requiredStorage | 通过应用程序缓存操作触发通知所需的存储量,以字节为单位。 |
quota | 当前的最大应用程序缓存大小,以字节为单位。 |
quotaUpdater | 一个通知WebView使用新配额的WebStorage.QuotaUpdater实例。 |
onReceivedIcon
public void onReceivedIcon (WebView view, Bitmap icon)
添加自 API level 1
当前页面有个新的图标时候,会回调这个函数。
参数 | |
---|---|
view | WebView的实例。 |
icon | 当前页面的新图标。 |
onReceivedTitle
public void onReceivedTitle (WebView view, String title)
添加自 API level 1
当document 的title变化时,会通知应用程序。
参数 | |
---|---|
view | WebView的实例。 |
title | document最新的字符串标题。 |
onReceivedTouchIconUrl
public void onReceivedTouchIconUrl (WebView view, String url, boolean precomposed)
添加自 API level 7
通知应用程序 apple-touch-icon的 url 。
参数 | |
---|---|
view | 已初始化WebView的回调。 |
url | apple-touch-icon 的服务端地址。 |
precomposed | 如果precomposed 是true,则touch-icon是预先创建的。 |
onRequestFocus
public void onRequestFocus (WebView view)
添加自 API level 1
webview请求得到焦点,发生这个主要是当前webview不是前台状态,是后台webview。
参数 | |
---|---|
view | 需要获取焦点的webview。 |
onShowCustomView
public void onShowCustomView (View view, int requestedOrientation, WebChromeClient.CustomViewCallback callback)
添加自 API level 14
该方法在 API level 18 被弃用
这种方法支持过时的插件机制, 以后不会被调用
通知主机应用webview需要显示一个特定方向的custom view。
参数 | |
---|---|
view | 即将要显示的view。 |
requestedOrientation | 用于Activityinfo.Screenorientation的方向常量。 |
callback | 当view 需要dismiss 则使用这个对象进行回调通知。 |
public void onShowCustomView (View view, WebChromeClient.CustomViewCallback callback)
添加自 API level 7
通知主机应用webview需要显示一个custom view,主要是用在视频全屏 HTML5 Video support。
参数 | |
---|---|
view | 即将要显示的view。 |
callback | 当view 需要dismiss 则使用这个对象进行回调通知。 |