当前位置: 首页 > 知识库问答 >
问题:

WebView显示ERR_CLEARTEXT_NOT_PERMITTED(尽管站点是HTTPS)[重复]

通煜祺
2023-03-14

我开始在Android上做一个应用程序,所以我没有太多。到目前为止,我所拥有的只是一个WebView。我在Android Studio中创建了这个项目,我的项目被设置为一个Android InstantApp。我不确定为什么/怎么做,但我的猜测是我在创建项目时忽略了它的一个选项。

我从WebView收到一个错误,说net::err_cleartext_not_permitted。当我搜索这个错误时,我看到当一个应用程序是InstantApp时,WebViews只能加载HTTPS站点,而不能加载HTTP站点。

package com.tylerr147.darkorbit;

import android.content.ComponentName;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebSettings;
import android.webkit.WebView;

public class MainActivity extends AppCompatActivity {

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

        WebView wv = findViewById(R.id.webView1);
        wv.loadUrl("https://darkorbit.com/");
        wv.setWebViewClient(new CustomWebViewClient());
        WebSettings webSettings = wv.getSettings();
        webSettings.setJavaScriptEnabled(true);
        webSettings.setPluginState(WebSettings.PluginState.ON);

    }
}
package com.tylerr147.darkorbit;

import android.webkit.WebView;
import android.webkit.WebViewClient;

public class CustomWebViewClient extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }
}

我的问题:我怎样才能禁用我的应用程序作为一个InstantApp,或者我怎样才能让这个WebView显示站点?

我觉得这很重要,我还提到了一些其他细节:在显示WebView的应用程序中,它还说“无法加载http://darkorbit.com/的网页,因为:NET::ERR_CLEARTEXT_NOT_准许

请注意,尽管URL的字符串是硬编码的,但它显示为“...site at http://darkorbit.com/...”,而不是“...site at https://darkorbit.com/...”,它显示为“https://darkorbit.com/”。此外,我正在一个模拟器上测试这款应用程序,该模拟器被设置为运行Android9的谷歌Pixel2。

如有任何帮助,我们将不胜感激。谢谢你。

共有1个答案

马承
2023-03-14

解决方案:

application标记中添加下面一行:

android:usesCleartextTraffic="true"

如下所示:

<application
    ....
    android:usesCleartextTraffic="true"
    ....>
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="true">
        ....
        ....
    </domain-config>

    <base-config cleartextTrafficPermitted="false"/>
</network-security-config>  

希望有帮助。

 类似资料:
  • 问题内容: 我想知道是否可以在WebView中仅显示网站的某些部分。例如,我的网站带有以下html: 是否只能在WebView中显示,例如id为“ 3”的div的内容?我的代码是WebWiew: 问题答案: 您可以通过扩展WebViewClient并注入一些可渲染您的网页的JavaScript来做到这一点 对于隐藏元素使用

  • 1. 创建站点 一般情况下,您需要在百度统计中创建站点才能获取跟踪代码及查看网站数据。 具体创建步骤: 登录百度统计,选择“管理->网站列表”标签; 点击页面右上方“新增网站”按钮,弹出新建对话框: 输入网站域名,域名格式不正确,将无法创建。 可输入如下4种域名形式: 主域名(如:www.baidu.com) 二级域名(如:sub.baidu.com) 子目录(如:www.baidu.com/su

  • Django 最强大的部分之一是自动生成的Admin 界面。它读取模型中的元数据来提供一个强大的、生产环境就绪的界面,使内容提供者能立即用它向站点中添加内容。在这篇文档中,我们讨论如何去激活、使用和自定义Django 的Admin 界面。 概述 通过使用startproject 创建的默认项目模版中,Admin 已启用。 下面的一些要求作为参考: 添加 'django.contrib.admin'

  • 一、简介 V9引入门户级站群功能,所以此处的站点管理与系统站群系统紧密结合。以下资料介绍了站群和站点管理的相关知识。 *什么是站群? 所谓站群,是指建立在统一标准、统一技术构架基础之上,分级管理,分级维护,耦合程度低,信息可以实现基于特定权限共享呈送的网站集合。并不是把很多个网站集中在一起就可以称得上是站群了,一定是要:统一,分级管理,信息共享,单点登录才可以。站群实现了技术标准统一,能够互联互通

  • 本文向大家介绍详解百度https认证提示"请将您的http站点301重定向到https站点"的解决办法,包括了详解百度https认证提示"请将您的http站点301重定向到https站点"的解决办法的使用技巧和注意事项,需要的朋友参考一下 最近想把一个网站改造成https访问,但是一些都做好了,去百度站长平台认证https,结果怎么提交都是出现“请将您的http站点301重定向到https站点”,

  • 我做了很多关于堆栈溢出的研究,也做了很多谷歌的研究,但我发现没有一个真正适合我的。我想让站点查看桌面站点,而不是移动站点。我该怎么做?我想让它直接去桌面站点。