Register now for Android Dev Summit 2019!

androidx.webkit

The androidx.webkit library is a static library you can add to your Android application in order to use android.webkit APIs that are not available for older platform versions.

Requirements

The minimum sdk version to use this library is 14. You can manually specify it by adding the following to your build.gradle:

android {
   defaultConfig {
     minSdkVersion 14
   }
 }

How to declare the dependencies to use the library

Inside your app's build.gradle file, include this line in dependencies:

dependencies {
   ...
   implementation 'androidx.webkit:webkit:1.0.0'
 }

Migrating to androidx.webkit

For static methods:

Old code:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1) {
   WebView.startSafeBrowsing(appContext, callback);
 }

New code:

 if (WebViewFeature.isFeatureSupported(WebViewFeature.START_SAFE_BROWSING)) {
   WebViewCompat.startSafeBrowsing(appContext, callback);
 }

Or, if you are using a non-static method:

Old code:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
   myWebView.postVisualStateCallback(requestId, callback);
 }

New code:

 if (WebViewFeature.isFeatureSupported(WebViewFeature.VISUAL_STATE_CALLBACK)) {
   WebViewCompat.postVisualStateCallback(myWebView, requestId, callback);
 }

Interfaces

WebViewCompat.VisualStateCallback Callback interface supplied to WebViewCompat.postVisualStateCallback(WebView, long, WebViewCompat.VisualStateCallback) for receiving notifications about the visual state. 

Classes

ProxyConfig Config for ProxyController.setProxyOverride(ProxyConfig, Executor, Runnable)
ProxyConfig.Builder ProxyConfig builder. 
ProxyController Manages setting and clearing a process-specific override for the Android system-wide proxy settings that govern network requests made by WebView
SafeBrowsingResponseCompat Compatibility version of SafeBrowsingResponse
ServiceWorkerClientCompat Base class for clients to capture Service Worker related callbacks, see ServiceWorkerControllerCompat for usage example. 
ServiceWorkerControllerCompat Manages Service Workers used by WebView. 
ServiceWorkerWebSettingsCompat Manages settings state for all Service Workers. 
TracingConfig Holds tracing configuration information and predefined settings for TracingController
TracingConfig.Builder Builder used to create TracingConfig objects. 
TracingController Manages tracing of WebViews. 
WebMessageCompat The Java representation of the HTML5 PostMessage event. 
WebMessagePortCompat

The Java representation of the HTML5 message ports. 

WebMessagePortCompat.WebMessageCallbackCompat The listener for handling MessagePort events. 
WebResourceErrorCompat Compatibility version of WebResourceError
WebResourceRequestCompat Compatibility version of WebResourceRequest
WebSettingsCompat Compatibility version of WebSettings  
WebViewAssetLoader Helper class to enable accessing the application's static assets and resources under an http(s):// URL to be loaded by WebView class. 
WebViewAssetLoader.Builder A builder class for constructing WebViewAssetLoader objects. 
WebViewClientCompat Compatibility version of WebViewClient
WebViewCompat Compatibility version of WebView  
WebViewFeature Utility class for checking which WebView Support Library features are supported on the device. 
WebViewRenderProcess WebViewRenderProcess provides an opaque handle to a WebView renderer. 
WebViewRenderProcessClient Used to receive callbacks on WebView renderer events.