public class WebChromeClient
extends Object
java.lang.Object | |
↳ | android.webkit.WebChromeClient |
Nested classes |
|
---|---|
interface |
WebChromeClient.CustomViewCallback 主机应用程序用于通知当前页面其自定义视图已被解除的回调接口。 |
class |
WebChromeClient.FileChooserParams 在 |
Public constructors |
|
---|---|
WebChromeClient() |
Public methods |
|
---|---|
Bitmap |
getDefaultVideoPoster() 不播放时,视频元素由“海报”图像表示。 |
View |
getVideoLoadingProgressView() 获得全屏视频缓冲时显示的视图。 |
void |
getVisitedHistory(ValueCallback<String[]> callback) 获取所有访问过的历史项目的列表,用于链接着色 |
void |
onCloseWindow(WebView window) 通知主机应用程序关闭给定的WebView并在必要时将其从视图系统中删除。 |
boolean |
onConsoleMessage(ConsoleMessage consoleMessage) 向主机应用程序报告JavaScript控制台消息。 |
void |
onConsoleMessage(String message, int lineNumber, String sourceID) 此方法在API级别8中已弃用。请改为使用 |
boolean |
onCreateWindow(WebView view, boolean isDialog, boolean isUserGesture, Message resultMsg) 请求主机应用程序创建一个新窗口。 |
void |
onExceededDatabaseQuota(String url, String databaseIdentifier, long quota, long estimatedDatabaseSize, long totalQuota, WebStorage.QuotaUpdater quotaUpdater) 此方法在API级别19中已弃用。此方法不再被调用; WebView现在使用HTML5 / JavaScript配额管理API。 |
void |
onGeolocationPermissionsHidePrompt() 通知主机应用程序,以前对 |
void |
onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) 通知宿主应用程序指定来源的Web内容正在尝试使用Geolocation API,但目前没有为该来源设置权限状态。 |
void |
onHideCustomView() 通知主机应用程序当前页面已退出全屏模式。 |
boolean |
onJsAlert(WebView view, String url, String message, JsResult result) 告诉客户端显示一个JavaScript警告对话框。 |
boolean |
onJsBeforeUnload(WebView view, String url, String message, JsResult result) 告诉客户端显示一个对话框,以确认远离当前页面的导航。 |
boolean |
onJsConfirm(WebView view, String url, String message, JsResult result) 告诉客户端向用户显示一个确认对话框。 |
boolean |
onJsPrompt(WebView view, String url, String message, String defaultValue, JsPromptResult result) 告诉客户端向用户显示一个提示对话框。 |
boolean |
onJsTimeout() 此方法在API级别17中已弃用。此方法不再受支持,也不会被调用。 |
void |
onPermissionRequest(PermissionRequest request) 通知主机应用程序Web内容正在请求访问指定资源的权限,并且当前未授予或拒绝该权限。 |
void |
onPermissionRequestCanceled(PermissionRequest request) 通知主机应用程序已经取消了给定的权限请求。 |
void |
onProgressChanged(WebView view, int newProgress) 告诉主机应用程序加载页面的当前进度。 |
void |
onReachedMaxAppCacheSize(long requiredStorage, long quota, WebStorage.QuotaUpdater quotaUpdater) 此方法在API级别19中已弃用。此方法不再被调用; WebView现在使用HTML5 / JavaScript配额管理API。 |
void |
onReceivedIcon(WebView view, Bitmap icon) 通知当前页面的新的favicon的主机应用程序。 |
void |
onReceivedTitle(WebView view, String title) 通知主机应用程序文档标题中的更改。 |
void |
onReceivedTouchIconUrl(WebView view, String url, boolean precomposed) 通知苹果触摸图标的url的主机应用程序。 |
void |
onRequestFocus(WebView view) 请求此WebView的显示和焦点。 |
void |
onShowCustomView(View view, int requestedOrientation, WebChromeClient.CustomViewCallback callback) 此方法在API级别18中已被弃用。此方法支持过时的插件机制,将来不会调用该方法 |
void |
onShowCustomView(View view, WebChromeClient.CustomViewCallback callback) 通知主机应用程序当前页面已进入全屏模式。 |
boolean |
onShowFileChooser(WebView webView, ValueCallback<Uri[]> filePathCallback, WebChromeClient.FileChooserParams fileChooserParams) 告诉客户显示文件选择器。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
Bitmap getDefaultVideoPoster ()
不播放时,视频元素由“海报”图像表示。 要使用的图像可以通过HTML中的视频标签的海报属性指定。 如果该属性不存在,则将使用默认海报。 该方法允许ChromeClient提供该默认图像。
Returns | |
---|---|
Bitmap |
Bitmap The image to use as a default poster, or null if no such image is available. |
View getVideoLoadingProgressView ()
获得全屏视频缓冲时显示的视图。 主机应用程序可以重写此方法以提供包含微调器或类似物的视图。
Returns | |
---|---|
View |
View The View to be displayed whilst the video is loading. |
void getVisitedHistory (ValueCallback<String[]> callback)
获取所有访问过的历史项目的列表,用于链接着色
Parameters | |
---|---|
callback |
ValueCallback
|
void onCloseWindow (WebView window)
通知主机应用程序关闭给定的WebView并在必要时将其从视图系统中删除。 在这一点上,WebCore已经停止在这个窗口中的任何加载,并删除了JavaScript中的任何交叉脚本功能。
Parameters | |
---|---|
window |
WebView : The WebView that needs to be closed. |
boolean onConsoleMessage (ConsoleMessage consoleMessage)
向主机应用程序报告JavaScript控制台消息。 ChromeClient应该覆盖它以按照他们认为合适的方式处理日志消息。
Parameters | |
---|---|
consoleMessage |
ConsoleMessage : Object containing details of the console message. |
Returns | |
---|---|
boolean |
true if the message is handled by the client. |
void onConsoleMessage (String message, int lineNumber, String sourceID)
此方法在API级别8中已被弃用。
改为使用onConsoleMessage(ConsoleMessage)
。
向主机应用程序报告JavaScript错误消息。 ChromeClient应该覆盖它以按照他们认为合适的方式处理日志消息。
Parameters | |
---|---|
message |
String : The error message to report. |
lineNumber |
int : The line number of the error. |
sourceID |
String : The name of the source file that caused the error. |
boolean onCreateWindow (WebView view, boolean isDialog, boolean isUserGesture, Message resultMsg)
请求主机应用程序创建一个新窗口。 如果主机应用程序选择遵守此请求,则应从此方法返回true,创建一个新的WebView以承载该窗口,将其插入到View系统中,并使用新的WebView作为参数将提供的resultMsg消息发送到其目标。 如果主机应用程序选择不履行请求,则应从此方法返回false。 这个方法的默认实现什么都不做,因此返回false。
Parameters | |
---|---|
view |
WebView : The WebView from which the request for a new window originated. |
isDialog |
boolean : True if the new window should be a dialog, rather than a full-size window. |
isUserGesture |
boolean : True if the request was initiated by a user gesture, such as the user clicking a link. |
resultMsg |
Message : The message to send when once a new WebView has been created. resultMsg.obj is a WebView.WebViewTransport object. This should be used to transport the new WebView, by calling WebView.WebViewTransport.setWebView(WebView) . |
Returns | |
---|---|
boolean |
This method should return true if the host application will create a new window, in which case resultMsg should be sent to its target. Otherwise, this method should return false. Returning false from this method but also sending resultMsg will result in undefined behavior. |
void onExceededDatabaseQuota (String url, String databaseIdentifier, long quota, long estimatedDatabaseSize, long totalQuota, WebStorage.QuotaUpdater quotaUpdater)
此方法在API级别19中已被弃用。
此方法不再被调用; WebView现在使用HTML5 / JavaScript配额管理API。
告诉客户端特定源的Web SQL数据库API超出配额并请求新的配额。 客户端必须通过调用所提供的WebStorage.QuotaUpdater
实例的updateQuota(long)
方法进行响应。 可以为新配额设置的最小值是当前配额。 默认实现以当前配额响应,因此配额不会增加。
Parameters | |
---|---|
url |
String : The URL of the page that triggered the notification |
databaseIdentifier |
String : The identifier of the database where the quota was exceeded. |
quota |
long : The quota for the origin, in bytes |
estimatedDatabaseSize |
long : The estimated size of the offending database, in bytes |
totalQuota |
long : The total quota for all origins, in bytes |
quotaUpdater |
WebStorage.QuotaUpdater : An instance of WebStorage.QuotaUpdater which must be used to inform the WebView of the new quota. |
void onGeolocationPermissionsHidePrompt ()
通知宿主应用程序,以前对onGeolocationPermissionsShowPrompt()
调用所做的地理位置权限请求已被取消。 因此任何相关的用户界面应该隐藏。
void onGeolocationPermissionsShowPrompt (String origin, GeolocationPermissions.Callback callback)
通知宿主应用程序指定来源的Web内容正在尝试使用Geolocation API,但目前没有为该来源设置权限状态。 主机应用程序应该使用所需的权限状态调用指定的回调。 有关详细信息,请参阅GeolocationPermissions
。
请注意,对于定位Android N及更高版本SDK(API级别> M
)的应用程序,仅针对源自https等安全来源的请求调用此方法。 在不安全的来源地理位置请求会被自动拒绝。
Parameters | |
---|---|
origin |
String : The origin of the web content attempting to use the Geolocation API. |
callback |
GeolocationPermissions.Callback : The callback to use to set the permission state for the origin. |
void onHideCustomView ()
通知主机应用程序当前页面已退出全屏模式。 主机应用程序必须隐藏自定义视图,即。 当内容进入全屏时,视图传递到onShowCustomView(View, WebChromeClient.CustomViewCallback)
。 另请参阅WebView
上的“全屏支持”文档。
boolean onJsAlert (WebView view, String url, String message, JsResult result)
告诉客户端显示一个JavaScript警告对话框。 如果客户端返回true,WebView将假定客户端将处理该对话框。 如果客户端返回false,它将继续执行。
Parameters | |
---|---|
view |
WebView : The WebView that initiated the callback. |
url |
String : The url of the page requesting the dialog. |
message |
String : Message to be displayed in the window. |
result |
JsResult : A JsResult to confirm that the user hit enter. |
Returns | |
---|---|
boolean |
boolean Whether the client will handle the alert dialog. |
boolean onJsBeforeUnload (WebView view, String url, String message, JsResult result)
告诉客户端显示一个对话框,以确认远离当前页面的导航。 这是onbeforeunload javascript事件的结果。 如果客户端返回true,则WebView将假定客户端将处理确认对话框并调用相应的JsResult方法。 如果客户端返回false,则默认值true将返回到javascript以接受远离当前页面的导航。 默认行为是返回false。 将JsResult设置为true将离开当前页面,false将取消导航。
Parameters | |
---|---|
view |
WebView : The WebView that initiated the callback. |
url |
String : The url of the page requesting the dialog. |
message |
String : Message to be displayed in the window. |
result |
JsResult : A JsResult used to send the user's response to javascript. |
Returns | |
---|---|
boolean |
boolean Whether the client will handle the confirm dialog. |
boolean onJsConfirm (WebView view, String url, String message, JsResult result)
告诉客户端向用户显示一个确认对话框。 如果客户端返回true,则WebView将假定客户端将处理确认对话框并调用相应的JsResult方法。 如果客户端返回false,则默认值为false将返回到javascript。 默认行为是返回false。
Parameters | |
---|---|
view |
WebView : The WebView that initiated the callback. |
url |
String : The url of the page requesting the dialog. |
message |
String : Message to be displayed in the window. |
result |
JsResult : A JsResult used to send the user's response to javascript. |
Returns | |
---|---|
boolean |
boolean Whether the client will handle the confirm dialog. |
boolean onJsPrompt (WebView view, String url, String message, String defaultValue, JsPromptResult result)
告诉客户端向用户显示一个提示对话框。 如果客户端返回true,WebView将假定客户端将处理提示对话框并调用相应的JsPromptResult方法。 如果客户端返回false,则默认值为false将返回到javascript。 默认行为是返回false。
Parameters | |
---|---|
view |
WebView : The WebView that initiated the callback. |
url |
String : The url of the page requesting the dialog. |
message |
String : Message to be displayed in the window. |
defaultValue |
String : The default value displayed in the prompt dialog. |
result |
JsPromptResult : A JsPromptResult used to send the user's reponse to javascript. |
Returns | |
---|---|
boolean |
boolean Whether the client will handle the prompt dialog. |
boolean onJsTimeout ()
此方法在API级别17中已弃用。
此方法不再受支持,不会被调用。
告诉客户端JavaScript执行超时已经发生。 客户可以决定是否中断执行。 如果客户端返回true,则JavaScript将被中断。 如果客户端返回false,则执行将继续。 请注意,在继续执行的情况下,超时计数器将被重置,如果脚本没有在下一个检查点完成,则回调将继续发生。
Returns | |
---|---|
boolean |
boolean Whether the JavaScript execution should be interrupted. |
void onPermissionRequest (PermissionRequest request)
通知主机应用程序Web内容正在请求访问指定资源的权限,并且当前未授予或拒绝该权限。 主机应用程序必须调用grant(String[])
或deny()
。 如果此方法未被覆盖,则权限被拒绝。
Parameters | |
---|---|
request |
PermissionRequest : the PermissionRequest from current web content. |
void onPermissionRequestCanceled (PermissionRequest request)
通知主机应用程序已经取消了给定的权限请求。 因此任何相关的用户界面应该隐藏。
Parameters | |
---|---|
request |
PermissionRequest : the PermissionRequest that needs be canceled. |
void onProgressChanged (WebView view, int newProgress)
告诉主机应用程序加载页面的当前进度。
Parameters | |
---|---|
view |
WebView : The WebView that initiated the callback. |
newProgress |
int : Current page loading progress, represented by an integer between 0 and 100. |
void onReachedMaxAppCacheSize (long requiredStorage, long quota, WebStorage.QuotaUpdater quotaUpdater)
此方法在API级别19中已被弃用。
此方法不再被调用; WebView现在使用HTML5 / JavaScript配额管理API。
通知主机应用程序应用程序缓存已达到最大大小。 客户端必须通过调用所提供的WebStorage.QuotaUpdater
实例的updateQuota(long)
方法进行响应。 可以为新配额设置的最小值是当前配额。 默认实现以当前配额响应,因此配额不会增加。
Parameters | |
---|---|
requiredStorage |
long : The amount of storage required by the Application Cache operation that triggered this notification, in bytes. |
quota |
long : the current maximum Application Cache size, in bytes |
quotaUpdater |
WebStorage.QuotaUpdater : An instance of WebStorage.QuotaUpdater which must be used to inform the WebView of the new quota. |
void onReceivedIcon (WebView view, Bitmap icon)
通知当前页面的新的favicon的主机应用程序。
Parameters | |
---|---|
view |
WebView : The WebView that initiated the callback. |
icon |
Bitmap : A Bitmap containing the favicon for the current page. |
void onReceivedTitle (WebView view, String title)
通知主机应用程序文档标题中的更改。
Parameters | |
---|---|
view |
WebView : The WebView that initiated the callback. |
title |
String : A String containing the new title of the document. |
void onReceivedTouchIconUrl (WebView view, String url, boolean precomposed)
通知苹果触摸图标的url的主机应用程序。
Parameters | |
---|---|
view |
WebView : The WebView that initiated the callback. |
url |
String : The icon url. |
precomposed |
boolean : True if the url is for a precomposed touch icon. |
void onRequestFocus (WebView view)
请求此WebView的显示和焦点。 这可能是由于另一个WebView在此WebView中打开一个链接并要求显示此WebView。
Parameters | |
---|---|
view |
WebView : The WebView that needs to be focused. |
void onShowCustomView (View view, int requestedOrientation, WebChromeClient.CustomViewCallback callback)
此方法在API级别18中已被弃用。
该方法支持过时的插件机制,并且将来不会被调用
通知主机应用程序当前页面希望以特定方向显示自定义视图。
Parameters | |
---|---|
view |
View : is the View object to be shown. |
requestedOrientation |
int : An orientation constant as used in ActivityInfo.screenOrientation . |
callback |
WebChromeClient.CustomViewCallback : is the callback to be invoked if and when the view is dismissed. |
void onShowCustomView (View view, WebChromeClient.CustomViewCallback callback)
通知主机应用程序当前页面已进入全屏模式。 主机应用程序必须以全屏模式显示包含网页内容 - 视频或其他HTML内容的自定义视图。 另请参阅WebView
上的“全屏支持”文档。
Parameters | |
---|---|
view |
View : is the View object to be shown. |
callback |
WebChromeClient.CustomViewCallback : invoke this callback to request the page to exit full screen mode. |
boolean onShowFileChooser (WebView webView, ValueCallback<Uri[]> filePathCallback, WebChromeClient.FileChooserParams fileChooserParams)
告诉客户显示文件选择器。 这被称为用'文件'输入类型处理HTML表单,以响应用户按下“选择文件”按钮。 要取消请求,请致电filePathCallback.onReceiveValue(null)
并返回true。
Parameters | |
---|---|
webView |
WebView : The WebView instance that is initiating the request. |
filePathCallback |
ValueCallback : Invoke this callback to supply the list of paths to files to upload, or NULL to cancel. Must only be called if the showFileChooser implementations returns true. |
fileChooserParams |
WebChromeClient.FileChooserParams : Describes the mode of file chooser to be opened, and options to be used with it. |
Returns | |
---|---|
boolean |
true if filePathCallback will be invoked, false to use default handling. |