尽管网站是 HTTPS,但 WebView 显示 ERR_CLEARTEXT_NOT_PERMITTED [重复]

2023-11-27

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

我从 WebView 收到错误消息 net::ERR_CLEARTEXT_NOT_PERMITTED。当我用Google搜索错误时,我发现当应用程序是InstantApp时,WebViews只能加载HTTPS站点,而无法加载HTTP站点。

该应用程序的目的是成为一款仅适用于一个站点的极其简单的 Flash 播放器。这是为了在运行需要 Flash 的游戏时获得更好的性能。该游戏位于 darkorbit.com,采用 HTTPS。

MainActivity.java:

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);

    }
}

和 CustomWebViewClient.java

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/" 无法加载,因为: 净::ERR_CLEARTEXT_NOT_PERMITTED

请注意,上面写着“...站点位于http://darkorbit.com/...”,而不是“...网站位于https://darkorbit.com/...”即使 URL 的字符串是硬编码的,并且显示“https://darkorbit.com/另外,我正在设置为运行 Android 9 的 Google Pixel 2 的模拟器上测试该应用程序。

任何帮助,将不胜感激。谢谢。


解决方案:

将以下行添加到您的application tag:

android:usesCleartextTraffic="true"

如下所示:

<application
    ....
    android:usesCleartextTraffic="true"
    ....>

UPDATE:如果您有网络安全配置,例如:android:networkSecurityConfig="@xml/network_security_config"

不需要如上所示将明文流量设置为 true,而是使用以下代码:

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

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

Set the cleartextTrafficPermitted to true

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

尽管网站是 HTTPS,但 WebView 显示 ERR_CLEARTEXT_NOT_PERMITTED [重复] 的相关文章

  • 使用 ColorMatrix 调整亮度

    我正在尝试使用 ColorMatrix 调整图像的亮度 当尝试调整色相时 您可以在 Photoshop 中看到此选项 亮度和亮度也是两个不同的功能 但我不知道要更改哪些值才能实现此目的 目前我可以使用此代码更改色调 public stati
  • Kotlin Android Firebase 数据库哈希映射转换为类

    我正在尝试从 firebase 数据库获取数据 断点显示它正在获取数据 但看起来我没有正确地将其分配给我的班级 这会导致此异常 java lang ClassCastException 无法将 java util HashMap 转换为 班
  • 在 Android 中使用 awt

    我有一个绘制图表的 Java Swing 应用程序 它使用 Graphics2D 调用和 awt 对象 例如 Rectangle 等 在某些时候我可能想将其移植到 Android 上 我知道我无法在 Android 上使用 Graphics
  • android:ScrollView(或视差)内的RecyclerView

    我有一个片段2 次卡片浏览内有多个控件 below我有第二个卡片视图回收者视图 这有效perfect 问题是 recyclerview 启动了屏幕的最底部 并且滚动recyclerview非常small 以前使用过列表视图 这使我可以适应您
  • 在 Android 市场中以编程方式检查我的应用程序版本

    目前 我正在启动时检查应用程序版本代码 并将其与我的服务器上的最新版本代码进行匹配 并根据此匹配 我发送用户从 Android 市场获取最新更新 它运行良好 但我的问题是我必须手动更改服务器上的最新版本代码 并且我不知道新版本何时发布APK
  • 如何从Slog中查看日志

    如何查看 Slog API 生成的日志 是否有任何选项可以查看系统缓冲区中的日志 我的意思是查看我们使用的无线电缓冲区的日志 adb logcat b 无线电 而这个日志是由Android的Log类生成的 Slog API 的输出在哪里 怎
  • 不使用eclipse安装Android模拟器

    如何在没有eclipse的电脑上安装android模拟器 android模拟器无需安装eclipse 只需下载 android sdk 并安装即可 安装android SDK之前必须先安装JDK 完成后安装成功 您将获得两个应用程序 SDK
  • 将项目添加到 android 框架的设置中

    我正在 android 框架中工作 我想向 android 操作系统中的现有设置添加一个项目 您能告诉我如何执行此操作吗 首先阅读有关偏好活动 http developer android com reference android pre
  • Android 音乐播放器应用程序:如何为服务中运行的媒体播放器设置完整的侦听器?

    我正在编写一个音乐播放器应用程序 我在服务中有 MediaPlayer 对象 问题是 我不知道如何从服务更新用户界面 例如 我想更新当前歌曲的剩余时间 但是 因为 MediaPlayer 正在服务 我无法设置 MediaPlayer 对象的
  • MediaPlayer.create() 始终返回 null

    我以前用过媒体播放器 从来没有遇到过这个问题 每当我尝试使用 MediaPlayer create 时 该方法都会给我 null 并且我无法播放声音 我有什么遗漏的吗 public class Game extends Activity p
  • Android 游戏偶尔出现延迟

    我正在用 Java 制作一个简单的 Android 游戏 我注意到每 20 40 秒就会出现一些烦人的延迟 首先 我认为它们是由垃圾收集器引起的 但当我检查 LogCat 时 我发现游戏滞后时没有垃圾收集 每当游戏开始滞后时 我都会标记日志
  • 如何从画布中删除路径区域(Android)

    我需要裁剪角落ImageView 不要将它们弄圆 而是擦除每个角上的三角形 似乎唯一的方法就是覆盖onDraw方法并使用从画布上删除这些区域Path 问题是我没有纯色背景 所以我需要擦除这些区域 但不要用某种颜色填充它们 我为此使用以下代码
  • Android - 使用 SAX 解析器解析大文件

    我正在尝试使用 SAX 解析器解析来自 webservice 的 xml 数据 当我尝试使用 URL 解析数据 大小 7 4MB 时 它工作正常 但是当我从 URL 复制 xml 数据并放置 xml 文件时 size 7 4MB 在raw文
  • 旋转 Google 地图中的两层标记图标

    在我的应用程序中 我向地图添加了一定数量的标记 如下所示 private fun addMarker googleMap GoogleMap location Location val options MarkerOptions optio
  • 片段活动中的 commitAllowingStateLoss()

    我的应用程序使用片段活动 它仅处于纵向模式 无法旋转屏幕 最初我使用的是commit 方法 但现在我计划不加区别地将这些更改为commitAllowingStateLoss 对于碎片活动 是否有任何理由不不加区别地执行此操作而不重新评估我使
  • 如何防止应用程序被盗(针对Android应用程序)?

    我想知道防止人们窃取我的应用程序的最有效方法是什么 在线下载 apk 的副本而不是购买它 我已经花了一个lot特别是 Droidbox 上的时间 并且不会发布 Sync 直到我可以保证提供专业版本的非法副本的人无法发布 有人实施过这个吗 我
  • foo.setVisibility(View.GONE) 和parent.removeView(foo) 之间的区别

    如果 foo 是一个视图 那么有什么区别foo setVisibility View GONE and fooParent removeView foo 我对两个语句之前和之后视图的内存消耗特别感兴趣 可见性设置为 GONE 的视图是否会消
  • DialogFragment 关闭事件

    我需要处理 DialogFragment 的结尾 在调用 dismiss 之后 例如 我会在关闭后 包含 片段的活动内显示一个 toast 我该如何处理该事件 覆盖onDismiss 在你的DialogFragment中 或者使用setOn
  • 如何从另一个活动更新 Recyclerview 数据

    我有两个活动 MainActivity 和 Addlogactivity 我正在更新 Addlogactivity 中的数据 该数据应显示在 mainactivity recyclerview 中 数据未在数据库中更新 MianActivi
  • 将主题应用到 v7 支持操作栏

    我正在使用support v7库来实现ActionBar在我的应用程序中 我的styles xml file

随机推荐

  • HL7 FHIR 在 asp.net web api 中序列化为 json

    我正在使用 HL7 Fhirnuget由 Ewout Kramer 创建的软件包 0 9 3 我将其与 ASP NET Web API 绑定在一起 但不幸的是内置的 JSON 序列化无法正确生成 JSON 它包含很多这样的内容
  • 现代CPU会跳过零乘法吗?

    我想知道当两个数字中至少有一个为零时 当前的CPU是否避免将两个数字相乘 谢谢 这根据 CPU 和 在某些情况下 操作数的类型而有很大差异 较旧 较简单的 CPU 通常使用如下乘法算法 integer operator integer co
  • 文本溢出时的选取框文本

    这是我的问题 假设我有 3 个 div 标签 宽度均为 100 像素 lt DIV WIDTH gt Text in div 1 Text in div two it overflows Text in div three lt DIV W
  • NumPy 中的加权标准差

    numpy average 有一个权重选项 但是numpy std 才不是 有人对解决方法有建议吗 下面这个简短的 手动计算 怎么样 def weighted avg and std values weights Return the we
  • C中的查找表

    我正在用 C 创建一个查找表 当我定义这个时 typedef struct char action char message lookuptab lookuptab tab aa bb cc dd 它编译时没有错误 但是当我做这样的事情时
  • 如何从回收站恢复文件[重复]

    这个问题在这里已经有答案了 可能的重复 如何使用 C 从回收站恢复文件 有人知道如何使用 C 和 Windows API 从回收站恢复文件吗 This link可以帮你 using System using System Collectio
  • 视差视图滚动(类似雅虎天气)

    严格来说 这不是一个编程问题 而是更多的 如何完成这个 问题 我很好奇 并且正在开发一个可能需要此功能的应用程序 如何实现左右视差滚动 要准确了解我的意思 请查看雅虎天气应用程序 它是免费的 不用担心 他们是只使用一个视图控制器还是为其中显
  • 如何在CSS中制作渐变边框

    我正在尝试将渐变应用于边框 我认为这就像这样做一样简单 border color moz linear gradient top 555555 111111 但这是行不通的 有谁知道边框渐变的正确方法是什么 The border image
  • 数组“包含”方法在 Google Apps 脚本中失败

    我试图在 Google Apps 脚本中对数组使用 includes 方法 但失败并显示 无法找到对象 1 4 3 7 中包含的函数 第 4 行 文件 test array 以下是代码 function test array var arr
  • Soundpool 还是媒体播放器?

    我正在为 Android 开发一款纸牌游戏 我希望每次投掷纸牌时都能播放投掷声音 这是同一个文件 我还会播放其他声音 例如背景音乐和某些点击声 您建议使用什么 声音池或创建 MediaPlayback 并播放它 每一个的优点 缺点是什么 我
  • 内联静态常量与静态常量变量

    我无法弄清楚哪种解决方案更好 因为我不清楚其中的区别 我想要一个包含一些可以在整个程序中自由使用的变量的文件 我的第一次尝试如下 头文件 Hosts h pragma once include
  • 从 Tkinter 框架调用函数到另一个框架

    我有一个页面 将在其中显示一些客户详细信息 因此 我创建了一个名为 客户详细信息 的页面 其中包含我需要的所有标签 并将这些标签的文本设置为变量 可惜它不起作用 标签创建于 init 方法 所以我无法 更新 它们 因为 init 仅在开始时
  • Android:如何检测assets文件夹中的目录?

    我正在检索这样的文件 String files assetFiles list EngagiaDroid 我们如何知道它是一个文件还是一个目录呢 我想循环访问资产文件夹中的目录 然后复制其所有内容 我认为更通用的解决方案 如果您有子文件夹等
  • 使用 spring-boot-admin-server 时创建名为“conversionServicePostProcessor”的 bean 时出错

    我试图为我的应用程序启用 Spring boot 管理服务器 默认设置工作得很好 但是当我尝试启用安全性时 出现以下错误 应用程序无法启动 描述 bean conversionServicePostProcessor 在类路径中定义 资源
  • 如何否定进程的返回值?

    我正在寻找一个简单但跨平台的negate 否定进程返回值的进程 它应该将 0 映射到某个值 0 并将任何值 0 映射到 0 即以下命令应返回 yes nonexistingpath 不存在 ls nonexistingpath negate
  • Python:通过变量名引用对象属性? [复制]

    这个问题在这里已经有答案了 我正在用 Python 编写棋盘游戏 大富翁 大富翁 拥有三种类型的土地供玩家购买 房产 如木板路 铁路和公用事业 房产有 6 种条件 0 4 栋房屋或酒店 的可变购买价格和租金 铁路和公用事业有固定的价格和租金
  • Alamofire 接受和内容类型 JSON

    我正在尝试在 Swift 中使用 Alamofire 发出 GET 请求 我需要设置以下标题 Content Type application json Accept application json 我可以绕过它并直接指定请求的标头 但我
  • 将数组打印到文件

    我想将数组打印到文件中 我希望该文件看起来与这样的代码完全相同 print r abc 假设 abc 是一个数组 是否有任何单行解决方案可以解决此问题 而不是每种外观都常规解决方案 P S 我目前使用序列化 但我想让文件可读 因为序列化数组
  • Object.defineProperty 获取/设置闭包

    好的 我尝试这样创建新对象 var src a a b b c c var out for var prop in src Object defineProperty out prop get function return src pro
  • 尽管网站是 HTTPS,但 WebView 显示 ERR_CLEARTEXT_NOT_PERMITTED [重复]

    这个问题在这里已经有答案了 我开始在 Android 上开发一个应用程序 所以我没有太多东西 到目前为止我所拥有的只是一个 WebView 我在 Android Studio 中创建了该项目 并将我的项目设置为 Android Instan