Enabling WebView for tunneling
Ensure that you add this method call right before calling webview.loadUrl(url).
The MicroVPNSDK.enableWebViewObjectForNetworkTunnel(…) method is used to update a WebView object before loading the WebView. After the network tunnel is established successfully, the MicroVPNSDK.enableWebViewObjectForNetworkTunnel(…) method needs to be called before calling webView.loadUrl(url). This method returns the modified WebView object that is enabled for tunneling. Since #startTunnel(…) is an asynchronous call, the tunnel needs to be started before calling this API. Otherwise it throws a NetworkTunnelNotStartedException exception.
Note:
Do not update the WebView or WebViewClient object after the
#enabledWebViewObjectForNetworkTunnel(…)call. So, callingMicroVPNSDK.enableWebViewObjectForNetworkTunnel(…)right beforewebview.loadUrl(url)is the recommended approach.
WebView webView = findViewById(R.id.webview);
try {
WebViewClient webviewClient = new WebViewClient();
webView.setWebViewClient(webviewClient);
webView = MicroVPNSDK.enableWebViewObjectForNetworkTunnel(this, webView, webviewClient);
webView.loadUrl(url);
} catch(NetworkTunnelNotStartedException nse) {
Log.e(LOG_TAG, nse.getMessage());
} catch(MvpnException e) {
Log.e(LOG_TAG, e.getMessage());
}
<!--NeedCopy-->