Most visited

Recently visited

Added in API level 1

WebChromeClient

public class WebChromeClient
extends Object

java.lang.Object
   ↳ android.webkit.WebChromeClient


Summary

Nested classes

interface WebChromeClient.CustomViewCallback

主机应用程序用于通知当前页面其自定义视图已被解除的回调接口。

class WebChromeClient.FileChooserParams

onShowFileChooser(WebView, ValueCallback , 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中已弃用。请改为使用onConsoleMessage(ConsoleMessage)

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()

通知主机应用程序,以前对 onGeolocationPermissionsShowPrompt()调用所做的地理位置权限请求已被取消。

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

Public constructors

WebChromeClient

Added in API level 1
WebChromeClient ()

Public methods

getDefaultVideoPoster

Added in API level 7
Bitmap getDefaultVideoPoster ()

不播放时,视频元素由“海报”图像表示。 要使用的图像可以通过HTML中的视频标签的海报属性指定。 如果该属性不存在,则将使用默认海报。 该方法允许ChromeClient提供该默认图像。

Returns
Bitmap Bitmap The image to use as a default poster, or null if no such image is available.

getVideoLoadingProgressView

Added in API level 7
View getVideoLoadingProgressView ()

获得全屏视频缓冲时显示的视图。 主机应用程序可以重写此方法以提供包含微调器或类似物的视图。

Returns
View View The View to be displayed whilst the video is loading.

getVisitedHistory

Added in API level 7
void getVisitedHistory (ValueCallback<String[]> callback)

获取所有访问过的历史项目的列表,用于链接着色

Parameters
callback ValueCallback

onCloseWindow

Added in API level 1
void onCloseWindow (WebView window)

通知主机应用程序关闭给定的WebView并在必要时将其从视图系统中删除。 在这一点上,WebCore已经停止在这个窗口中的任何加载,并删除了JavaScript中的任何交叉脚本功能。

Parameters
window WebView: The WebView that needs to be closed.

onConsoleMessage

Added in API level 8
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.

onConsoleMessage

Added in API level 7
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.

onCreateWindow

Added in API level 1
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.

onExceededDatabaseQuota

Added in API level 5
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.

onGeolocationPermissionsHidePrompt

Added in API level 5
void onGeolocationPermissionsHidePrompt ()

通知宿主应用程序,以前对onGeolocationPermissionsShowPrompt()调用所做的地理位置权限请求已被取消。 因此任何相关的用户界面应该隐藏。

onGeolocationPermissionsShowPrompt

Added in API level 5
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.

onHideCustomView

Added in API level 7
void onHideCustomView ()

通知主机应用程序当前页面已退出全屏模式。 主机应用程序必须隐藏自定义视图,即。 当内容进入全屏时,视图传递到onShowCustomView(View, WebChromeClient.CustomViewCallback) 另请参阅WebView上的“全屏支持”文档。

onJsAlert

Added in API level 1
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.

onJsBeforeUnload

Added in API level 1
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.

onJsConfirm

Added in API level 1
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.

onJsPrompt

Added in API level 1
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.

onJsTimeout

Added in API level 7
boolean onJsTimeout ()

此方法在API级别17中已弃用。
此方法不再受支持,不会被调用。

告诉客户端JavaScript执行超时已经发生。 客户可以决定是否中断执行。 如果客户端返回true,则JavaScript将被中断。 如果客户端返回false,则执行将继续。 请注意,在继续执行的情况下,超时计数器将被重置,如果脚本没有在下一个检查点完成,则回调将继续发生。

Returns
boolean boolean Whether the JavaScript execution should be interrupted.

onPermissionRequest

Added in API level 21
void onPermissionRequest (PermissionRequest request)

通知主机应用程序Web内容正在请求访问指定资源的权限,并且当前未授予或拒绝该权限。 主机应用程序必须调用grant(String[])deny() 如果此方法未被覆盖,则权限被拒绝。

Parameters
request PermissionRequest: the PermissionRequest from current web content.

onPermissionRequestCanceled

Added in API level 21
void onPermissionRequestCanceled (PermissionRequest request)

通知主机应用程序已经取消了给定的权限请求。 因此任何相关的用户界面应该隐藏。

Parameters
request PermissionRequest: the PermissionRequest that needs be canceled.

onProgressChanged

Added in API level 1
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.

onReachedMaxAppCacheSize

Added in API level 7
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.

onReceivedIcon

Added in API level 1
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.

onReceivedTitle

Added in API level 1
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.

onReceivedTouchIconUrl

Added in API level 7
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.

onRequestFocus

Added in API level 1
void onRequestFocus (WebView view)

请求此WebView的显示和焦点。 这可能是由于另一个WebView在此WebView中打开一个链接并要求显示此WebView。

Parameters
view WebView: The WebView that needs to be focused.

onShowCustomView

Added in API level 14
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.

onShowCustomView

Added in API level 7
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.

onShowFileChooser

Added in API level 21
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.

也可以看看:

Hooray!