我正在开发应用程序,该应用程序将通过在应用程序中提供用户的登录页面(具有登录选项)将用户与可用的开放 WIFI 连接起来。谷歌显示在 WebView 中使用 onReceivedSslError() 来在应用程序中加载 Wifi 的登录页面的警报。
如果我删除此方法,则链接将不起作用。为了使其正常工作,我需要在network_security_config.xml文件中添加域名,但我不知道 wifi 的供应商会显示哪个链接,因为它不在我的控制范围内。这坚持我在 Webview 中使用 onReceivedSslError() 方法。我在 onReceivedSslError() 中显示警报对话框,询问用户是否要继续。
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("SSL Certificate Verification!\nPlease click on CONTINUE to open login
page of selected Wifi");
builder.setPositiveButton("continue", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
handler.proceed();
}
});
builder.setNegativeButton("cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
handler.cancel();
finish();
}
});
final AlertDialog dialog = builder.create();
dialog.show();`
进入 onReceivedSslError() 时出错
error.getPrimaryError() : 3 SSL_UNTRUSTED
我也试过这个https://www.rgagnon.com/javadetails/java-fix-certificate-problem-in-HTTPS.html但还是不行。
任何可用的链接都不能解决我的问题。请指导我。提前致谢