Sometimes we have a requirement to send custom headers while opening a webview and also pass same headers whenever user navigates to another webpage within the webview. So here's how we can achieve that :
private class MyWebViewClient extends WebViewClient {
@Override
public void onPageStarted(WebView webView, String url, Bitmap favicon) {
super.onPageStarted(webView, url, favicon);
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
}
@Override
public void onLoadResource(WebView view, String url) {
}
// api less then 24
@SuppressWarnings("deprecation")
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return view.load(url,yourheaders);
}
// api greater than 24
@TargetApi(Build.VERSION_CODES.N)
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
return view.load(request.getUrl(),yourheaders);
}
}