Jam*_*eel 5 java android android-8.0-oreo
我是新来的。我构建了一个简单的应用程序,该程序将一些数据发送到服务器并接收响应。
该应用程序在android N以下的设备上运行良好。我已经检查过,该应用程序在o和p上运行时未向服务器发送任何数据。请让我知道是否需要任何特定的互联网访问权限。
我已经在清单中添加了
<uses-permission android:name="android.permission.INTERNET" />
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激。
RAH*_*RYA 15
如果您的网址以开头,http则必须在Android Pie中使用它,即API级别28
android:usesCleartextTraffic="true"
Run Code Online (Sandbox Code Playgroud)
在清单中的应用标签内作为属性
ישו*_*ותך 12
可能是因为您正在使用http。从Android O开始,您需要使用https而不是,http否则会出现error Cleartext HTTP traffic to * not permitted。因此,您需要创建一个配置以允许这样做。您可以将其引用为退出明文流量
文档详细信息:
注意:本节中的指南仅适用于以Android 8.1(API级别27)或更低版本为目标的应用。从Android 9(API级别28)开始,默认情况下禁用明文支持。
打算仅使用安全连接连接到目标的应用程序可以选择不支持对那些目标使用明文(使用未加密的HTTP协议而不是HTTPS)。此选项有助于防止由于外部资源(例如后端服务器)提供的URL更改而导致应用程序意外退缩。请参阅
NetworkSecurityPolicy.isCleartextTrafficPermitted()以获取更多详细信息。例如,某个应用可能想要确保所有连接
secure.example.com都始终通过HTTPS完成,以保护敏感流量免受恶意网络的攻击。
res/xml/network_security_config.xml:Run Code Online (Sandbox Code Playgroud)<?xml version="1.0" encoding="utf-8"?> <network-security-config> <domain-config cleartextTrafficPermitted="false"> <domain includeSubdomains="true">secure.example.com</domain> </domain-config> </network-security-config>
。
您也可以android:usesCleartextTraffic="true"在自己AndroidManifest.xml的开发模式下使用,但不应在发布模式下使用它。有关更多详细信息,请参见Android Developer Blog(摘录):
阻止生产中的明文流量
为了防止已安装的应用程序对明文流量的回归,请在应用程序的AndroidManifest.xml中的application元素上声明android:usesCleartextTraffic =“ false”属性。这声明该应用程序不应使用明文网络流量,并使Android Marshmallow的平台网络堆栈阻止该应用程序中的明文流量。例如,如果您的应用意外地尝试通过明文HTTP请求登录用户,则该请求将被阻止,并且用户的身份和密码不会泄漏到网络中。
您无需将应用程序的minSdkVersion或targetSdkVersion设置为23(Android棉花糖)即可使用android:usesCleartextTraffic。在较旧的平台上,此属性将被忽略,因此无效。
请注意,WebView尚不支持此功能。
在某些情况下,明文流量仍可能离开或进入应用程序。例如,套接字API忽略明文策略,因为它不知道其发送或接收的数据是否可以归类为明文。另一方面,Android平台的HTTP堆栈则遵循该策略,因为它们知道流量是否为明文。
Google AdMob也是为了遵守该政策而创建的。当您的应用声明自己不使用明文流量时,应仅将纯HTTPS广告投放到该应用。
鼓励第三方网络,广告和分析库添加对此政策的支持。他们可以通过NetworkSecurityPolicy类查询明文流量策略。
| 归档时间: |
|
| 查看次数: |
6994 次 |
| 最近记录: |