Android 如何修复kotlin中的WebView SSL错误处理程序问题,以便通过Google play审查
我向Google play store提交了一个新应用程序,收到了WebView SSL错误处理程序警报,Google play review阻止了我的应用程序上线。请从下面的帮助页面查看谷歌的消息 若要更正此问题,请更新应用程序代码,以便在服务器提供的证书满足您的期望时调用SslErrorHandler.continue(),否则调用SslErrorHandler.cancel()。在检查证书有效性时,请牢记以下几点: 如果应用程序未包含足够的证书有效性检查,则可能会对其进行标记;例如,仅检查getPrimaryError的返回值不足以确定证书的有效性 忽略SslError.getPrimaryError返回的大多数SSL错误是不安全的。请注意,getPrimaryError返回一组错误中最严重的错误,因此如果getPrimaryError()!=如果SSL_UNTRUSTED为true,则连接可能仍然在错误集中包含SSL_UNTRUSTED错误 我理解谷歌的要求,但问题是如何在kotlin中实现它。我在这里检查了有关Stackoverflow的类似问题,没有一个建议的解决方案对我有效。我已经实施了建议的解决方案,但谷歌一直拒绝。我不知道这是否可能是因为我看到的大多数解决方案都是2017年及之前的,可能不适合当前使用 我已经为WebViewclient实现了OnReceivedSlerror。我不知道我错过了什么,如果有人能给我指出正确的方向,我将不胜感激,因为我对科特林来说还是个新手。请参见下面我的示例代码:Android 如何修复kotlin中的WebView SSL错误处理程序问题,以便通过Google play审查,android,ssl,kotlin,android-security,Android,Ssl,Kotlin,Android Security,我向Google play store提交了一个新应用程序,收到了WebView SSL错误处理程序警报,Google play review阻止了我的应用程序上线。请从下面的帮助页面查看谷歌的消息 若要更正此问题,请更新应用程序代码,以便在服务器提供的证书满足您的期望时调用SslErrorHandler.continue(),否则调用SslErrorHandler.cancel()。在检查证书有效性时,请牢记以下几点: 如果应用程序未包含足够的证书有效性检查,则可能会对其进行标记;例如,仅检查
private fun setWebClient() {
webView.webChromeClient = object : WebChromeClient() {
override fun onProgressChanged(
view: WebView,
newProgress: Int
) {
super.onProgressChanged(view, newProgress)
progressBar.progress = newProgress
if (newProgress < MAX_PROGRESS && progressBar.visibility == ProgressBar.GONE) {
progressBar.visibility = ProgressBar.VISIBLE
}
if (newProgress == MAX_PROGRESS) {
progressBar.visibility = ProgressBar.GONE
}
}
webView.webViewClient = object : WebViewClient() {
override fun onReceivedSslError(
view: WebView?,
handler: SslErrorHandler?,
error: SslError?
) {
super.onReceivedSslError(view, handler, error)
handler?.cancel()
}
}
}
}
private fun setWebClient(){
webView.webChromeClient=对象:webChromeClient(){
覆盖已更改的进程(
视图:WebView,
新进展:Int
) {
super.onProgressChanged(视图,newProgress)
progressBar.progress=newProgress
if(newProgress