我有一个简单的Andriod应用程序,它只有一个活动来使用Web视图加载网页.在构建该应用程序时,我使用的SDK最低版本为24,这意味着该应用程序应该可以在Android 7及更高版本上运行,但由于某些原因,当我在Android 7.1中启动我的应用程序时,我收到如下ERR_SSL_VERSION_OR_CIPHER_MISMATCH错误. enter image description here个
令人惊讶的是,当我直接在浏览器中浏览相同的URL时,它确实起作用了.请帮我解决这个问题.
当前 chromium 合金版本:-90.0.4430.60 安卓版本:-7.1
我试过更新设备中的Chrome版本,如果我更新到Chrome版本110+,它就会开始工作,但我想判断这是不是解决问题的正确方法,或者我们有更好的解决方案.
它加载网页的服务器使用的是TLS v 1.3,我读到的Android 7默认使用的是TLS 1.2,这个问题可能是由于不同的TLS版本造成的,所以如果我们可以在不更新Android 7的浏览器版本的情况下处理这个问题,请帮助我.
我的WebView配置
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE); this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
getSupportActionBar().hide();
setContentView(R.layout.activity_main);
webView = findViewById(R.id.test);
ProgressBar spinner = (ProgressBar)findViewById(R.id.progressBar);
WebSettings settings = webView.getSettings();
settings.setJavaScriptEnabled(true);
settings.setDomStorageEnabled(true);
settings.setJavaScriptCanOpenWindowsAutomatically(true);
webView.setWebViewClient(new CustomWebViewClient(spinner));
webView.setWebChromeClient(new CustomWebChromeClient(this,webChromeClientArgs));
webView.loadUrl("https://www.test.com/");
````