java - Android Q(API 级别 29)不加载 HTTPS 网站。给出错误:(net::ERR_ACCESS_DENIED)

标签 java android android-studio android-webview android-10.0

<分区>

我正在尝试修复 issue在 Stackoverflow 上,此人试图利用 WebView 加载 Facebook 的网站“https://facebook.com/”,但无法完成。我查看了代码,发现 onReceivedSslError() 方法没有被覆盖。我覆盖它并在运行 Android 9(API 级别 28)及更低版本的 Android 模拟器上亲自测试它并且 即使没有添加 cleartextTrafficPermitted 但是,在 Android Q 上测试(API 级别 29),我收到此错误:

net::ERR_ACCESS_DENIED

enter image description here

这是 onCreate 方法的副本:

@SuppressLint("SetJavaScriptEnabled")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        WebView webDimrah = findViewById(R.id.WebView1);
        WebSettings webSettingDimrah = webDimrah.getSettings();
        webSettingDimrah.setJavaScriptEnabled(true);
        webDimrah.setWebViewClient(new WebViewClient(){

            @Override
            public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
                super.onReceivedSslError(view, handler, error);
                handler.proceed();
            }

            @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
                view.loadUrl(request.getUrl().toString());
                return true;
            }
        });
        webDimrah.loadUrl("https://facebook.com/");

    }

已将 Internet 权限添加到 list 文件。任何有关如何解决此问题的建议将不胜感激:)

最佳答案

您必须在 list 中使用 android:usesCleartextTraffic。

如果存在 Android 网络安全配置,则此标志在 Android 7.0(API 级别 24)及更高版本上会被忽略。

有关详细信息,请查看开发者网站的以下说明。

https://developer.android.com/guide/topics/manifest/application-element#usesCleartextTraffic

关于java - Android Q(API 级别 29)不加载 HTTPS 网站。给出错误:(net::ERR_ACCESS_DENIED),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58901080/

相关文章:

java - Spring 依赖注入(inject)失败

java - 如何在Android应用程序中集成Android注释?

java - NullPointEreException 选项卡布局 GridView

git - 如何进行一次提交以恢复之前 5 次提交的状态?

java - 将 json 简单库导入 Android Studio 时出错

java - 错误 org.hibernate.util.JDBCExceptionReporter - 列 'type' 的数据被截断

java - 震动变换 : Change field value based on the value in a nested element

android - 使用列表保存 RecyclerView 状态

javascript - 将网页的java脚本中存在的函数调用到android应用程序中

java - 检查给定区域中是否存在包含 4 个顶点的点