互联网许可在奥利奥和派中不起作用

我是新来的。我构建了一个简单的应用程序,它将一些数据发送到服务器并接收响应。

该应用程序在最高 android N 的设备上运行良好。但不能在 O 和 P 上运行。似乎问题出在互联网许可上。我已经检查过,该应用程序在 o 和 p 上运行时没有向服务器发送任何数据。如果我需要寻求任何特定的互联网访问权限,请告诉我。

我在清单中添加了这个

<uses-permission android:name="android.permission.INTERNET" />

任何帮助,将不胜感激。


慕莱坞森
浏览 120回答 4
4回答

月关宝盒

如果您的 URL 以开头,http那么您必须在 Android Pie 中使用它,即 API 级别 28android:usesCleartextTraffic="true"在应用程序标记内的清单中作为属性

阿波罗的战车

这可能是因为您正在使用http.&nbsp;从 Android O 开始,需要使用httpsinstead ofhttp否则会报错Cleartext HTTP traffic to * not permitted。因此,您需要创建一个配置以允许这样做。您可以参考选择退出明文流量文件详情:注意:本节中的指南仅适用于面向 Android 8.1(API 级别 27)或更低版本的应用。从 Android 9(API 级别 28)开始,明文支持默认禁用。打算仅使用安全连接连接到目标的应用程序可以选择不支持到这些目标的明文(使用未加密的 HTTP 协议而不是 HTTPS)。此选项有助于防止由于后端服务器等外部源提供的 URL 更改而导致应用程序意外回归。有关&nbsp;NetworkSecurityPolicy.isCleartextTrafficPermitted()更多详细信息,请参阅。例如,应用程序可能希望确保所有连接&nbsp;secure.example.com始终通过 HTTPS 完成,以保护来自敌对网络的敏感流量。res/xml/network_security_config.xml:<?xml&nbsp;version="1.0"&nbsp;encoding="utf-8"?><network-security-config> &nbsp;&nbsp;&nbsp;&nbsp;<domain-config&nbsp;cleartextTrafficPermitted="false"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<domain&nbsp;includeSubdomains="true">secure.example.com</domain> &nbsp;&nbsp;&nbsp;&nbsp;</domain-config></network-security-config>.你也可以android:usesCleartextTraffic="true"在你AndroidManifest.xml的开发模式下使用,但你不应该在发布模式下使用它。Android 开发者博客中有关它的更多详细信息,这里是摘录:阻止生产中的明文流量为了保护您的应用程序的安装基础免受明文流量的回归,请在应用程序的 AndroidManifest.xml 中的应用程序元素上声明 android:usesCleartextTraffic=”false” 属性。这声明了应用程序不应该使用明文网络流量,并使 Android Marshmallow 的平台网络堆栈阻止应用程序中的明文流量。例如,如果您的应用不小心尝试通过明文 HTTP 请求登录用户,该请求将被阻止,并且用户的身份和密码不会泄露到网络。您不必将应用的 minSdkVersion 或 targetSdkVersion 设置为 23 (Android Marshmallow) 即可使用 android:usesCleartextTraffic。在较旧的平台上,此属性会被忽略,因此无效。请注意,WebView 尚不支持此功能。在某些情况下,明文流量可能仍会离开或进入应用程序。例如,Socket API 忽略了明文策略,因为它不知道它传输或接收的数据是否可以归类为明文。另一方面,Android 平台 HTTP 堆栈遵守该策略,因为它们知道流量是否为明文。Google AdMob 也是为了遵守此政策而构建的。当您的应用声明它不使用明文流量时,应仅向应用投放 HTTPS 广告。鼓励第三方网络、广告和分析库添加对此策略的支持。他们可以通过 NetworkSecurityPolicy 类查询明文流量策略。

慕沐林林

在 AndroidManifest.xml 文件中添加以下代码行:android:usesCleartextTraffic="true"虽然,这会给你警告:&nbsp;它会暂时解决问题。但是您应该尽快迁移到“HTTPS”。

米琪卡哇伊

URL 以http://开头,您需要在应用程序标记内的清单文件中添加以下属性。android:usesCleartextTraffic="true"
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java