要解决“Android WebViewClient中的onReceivedClientCertRequest方法只被调用一次”的问题,可以按照以下步骤进行:
public class CustomWebViewClient extends WebViewClient {
@Override
public void onReceivedClientCertRequest(WebView view, ClientCertRequest request) {
// 处理证书请求
// 在这里可以选择要使用的证书,并将其传递给request.proceed()方法
// 或者使用request.ignore()方法来忽略证书请求
}
}
WebView webView = new WebView(context);
webView.setWebViewClient(new CustomWebViewClient());
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
view.setWebViewClient(new CustomWebViewClient());
return false;
}
});
通过以上步骤,你可以确保每次加载新的URL时,onReceivedClientCertRequest()方法都会被调用。