WebViewClientCompat
public
class
WebViewClientCompat
extends WebViewClient
java.lang.Object | ||
↳ | android.webkit.WebViewClient | |
↳ | androidx.webkit.WebViewClientCompat |
Compatibility version of WebViewClient
.
Summary
Inherited constants |
---|
Public constructors | |
---|---|
WebViewClientCompat()
|
Public methods | |
---|---|
void
|
onPageCommitVisible(WebView view, String url)
Notify the host application that |
void
|
onReceivedError(WebView view, WebResourceRequest request, WebResourceErrorCompat error)
Report web resource loading error to the host application. |
final
void
|
onReceivedError(WebView view, WebResourceRequest request, WebResourceError error)
Applications are not meant to override this, and should instead override the non-final |
void
|
onReceivedHttpError(WebView view, WebResourceRequest request, WebResourceResponse errorResponse)
Notify the host application that an HTTP error has been received from the server while loading a resource. |
final
void
|
onSafeBrowsingHit(WebView view, WebResourceRequest request, int threatType, SafeBrowsingResponse response)
Applications are not meant to override this, and should instead override the non-final |
void
|
onSafeBrowsingHit(WebView view, WebResourceRequest request, int threatType, SafeBrowsingResponseCompat callback)
Notify the host application that a loading URL has been flagged by Safe Browsing. |
boolean
|
shouldOverrideUrlLoading(WebView view, WebResourceRequest request)
Give the host application a chance to take over the control when a new url is about to be loaded in the current WebView. |
Inherited methods | |
---|---|
Public constructors
WebViewClientCompat
public WebViewClientCompat ()
Public methods
onPageCommitVisible
public void onPageCommitVisible (WebView view, String url)
Notify the host application that WebView
content left over from
previous page navigations will no longer be drawn.
This callback can be used to determine the point at which it is safe to make a recycled
WebView
visible, ensuring that no stale content is shown. It is called
at the earliest point at which it can be guaranteed that WebView.onDraw(Canvas)
will no
longer draw any content from previous navigations. The next draw will display either the
background color
of the WebView
, or some of the
contents of the newly loaded page.
This method is called when the body of the HTTP response has started loading, is reflected in the DOM, and will be visible in subsequent draws. This callback occurs early in the document loading process, and as such you should expect that linked resources (for example, CSS and images) may not be available.
For more fine-grained notification of visual state updates, see WebViewCompat.postVisualStateCallback(WebView, long, WebViewCompat.VisualStateCallback)
.
Please note that all the conditions and recommendations applicable to
WebViewCompat.postVisualStateCallback(WebView, long, WebViewCompat.VisualStateCallback)
also apply to this API.
This callback is only called for main frame navigations.
This method is called only if WebViewFeature.VISUAL_STATE_CALLBACK
is supported.
You can check whether that flag is supported using WebViewFeature.isFeatureSupported(String)
.
Parameters | |
---|---|
view |
WebView : The WebView for which the navigation occurred. |
url |
String : The URL corresponding to the page navigation that triggered this callback.
|
onReceivedError
public void onReceivedError (WebView view, WebResourceRequest request, WebResourceErrorCompat error)
Report web resource loading error to the host application. These errors usually indicate inability to connect to the server. Note that unlike the deprecated version of the callback, the new version will be called for any resource (iframe, image, etc.), not just for the main page. Thus, it is recommended to perform minimum required work in this callback.
This method is called only if WebViewFeature.RECEIVE_WEB_RESOURCE_ERROR
is
supported. You can check whether that flag is supported using WebViewFeature.isFeatureSupported(String)
.
Parameters | |
---|---|
view |
WebView : The WebView that is initiating the callback. |
request |
WebResourceRequest : The originating request. |
error |
WebResourceErrorCompat : Information about the error occurred.
|
onReceivedError
public final void onReceivedError (WebView view, WebResourceRequest request, WebResourceError error)
Applications are not meant to override this, and should instead override the non-final onReceivedError(WebView, WebResourceRequest, WebResourceErrorCompat)
method.
Parameters | |
---|---|
view |
WebView |
request |
WebResourceRequest |
error |
WebResourceError |
onReceivedHttpError
public void onReceivedHttpError (WebView view, WebResourceRequest request, WebResourceResponse errorResponse)
Notify the host application that an HTTP error has been received from the server while
loading a resource. HTTP errors have status codes >= 400. This callback will be called
for any resource (iframe, image, etc.), not just for the main page. Thus, it is recommended
to perform minimum required work in this callback. Note that the content of the server
response may not be provided within the errorResponse
parameter.
This method is called only if WebViewFeature.RECEIVE_HTTP_ERROR
is supported. You
can check whether that flag is supported using WebViewFeature.isFeatureSupported(String)
.
Parameters | |
---|---|
view |
WebView : The WebView that is initiating the callback. |
request |
WebResourceRequest : The originating request. |
errorResponse |
WebResourceResponse : Information about the error occurred.
|
onSafeBrowsingHit
public final void onSafeBrowsingHit (WebView view, WebResourceRequest request, int threatType, SafeBrowsingResponse response)
Applications are not meant to override this, and should instead override the non-final onSafeBrowsingHit(WebView, WebResourceRequest, int, SafeBrowsingResponseCompat)
method.
Parameters | |
---|---|
view |
WebView |
request |
WebResourceRequest |
threatType |
int |
response |
SafeBrowsingResponse |
onSafeBrowsingHit
public void onSafeBrowsingHit (WebView view, WebResourceRequest request, int threatType, SafeBrowsingResponseCompat callback)
Notify the host application that a loading URL has been flagged by Safe Browsing.
The application must invoke the callback to indicate the preferred response. The default
behavior is to show an interstitial to the user, with the reporting checkbox visible.
If the application needs to show its own custom interstitial UI, the callback can be invoked
asynchronously with SafeBrowsingResponseCompat.backToSafety(boolean)
or SafeBrowsingResponseCompat.proceed(boolean)
, depending on user response.
Parameters | |
---|---|
view |
WebView : The WebView that hit the malicious resource. |
request |
WebResourceRequest : Object containing the details of the request. |
threatType |
int : The reason the resource was caught by Safe Browsing, corresponding to a
SAFE_BROWSING_THREAT_* value. |
callback |
SafeBrowsingResponseCompat : Applications must invoke one of the callback methods.
|
shouldOverrideUrlLoading
public boolean shouldOverrideUrlLoading (WebView view, WebResourceRequest request)
Give the host application a chance to take over the control when a new
url is about to be loaded in the current WebView. If WebViewClient is not
provided, by default WebView will ask Activity Manager to choose the
proper handler for the url. If WebViewClient is provided, return true
means the host application handles the url, while return false
means the
current WebView handles the url.
Notes:
- This method is not called for requests using the POST "method".
- This method is also called for subframes with non-http schemes, thus it is
strongly disadvised to unconditionally call
WebView.loadUrl(String)
with the request's url from inside the method and then returntrue
, as this will make WebView to attempt loading a non-http url, and thus fail.
This method is called only if WebViewFeature.SHOULD_OVERRIDE_WITH_REDIRECTS
is
supported. You can check whether that flag is supported using WebViewFeature.isFeatureSupported(String)
.
Parameters | |
---|---|
view |
WebView : The WebView that is initiating the callback. |
request |
WebResourceRequest : Object containing the details of the request. |
Returns | |
---|---|
boolean |
true if the host application wants to leave the current WebView
and handle the url itself, otherwise return false .
|