Android 9.0以上HTTP网络请求被限制解决方案
问题
Android 9.0以上系统,HTTP网络访问请求被限制;但是HTTPS无影响。
Android 10系统同样有此问题。
为保证访问安全,Android P以上要求网络请求必须为Https;Http请求会抛异常,导致apk闪退。
原因分析
Android 9.0以上的应用默认都被限制了明文流量的网络请求,非加密的流量请求都会被系统禁止掉。同时,目标API级别为27或更低的应用程序的默认值为“ true”。面向API级别28或更高级别的应用默认为“ false”。
解决方法
在Android.Manifest.xml文件中添加网络访问权限:
<uses-permission android:name="android.permission.INTERNET" />
同时在AndroidManifest.xml文件中设置:
android:usesCleartextTraffic="true"
android:usesCleartextTraffic:指示应用程序是否打算使用明文网络流量,例如明文HTTP。[解决网络请求限制]
作用
忽略证书,可以使用明文流量访问,使得https&http都可以访问。
安全性问题
避免明文通信的主要原因是缺乏机密性,真实性和防篡改保护;网络攻击者可以窃听所传输的数据,并且还可以对其进行修改而不会被检测到。
Android 9.0以上HTTP网络请求被限制解决方案相关推荐
- Android 9.0/P(android p指安卓9.0版本) okhttp3网络请求出错
已经在AndroidManifest.xml申请网络权限,在8.0以下的系统中网络访问正常,但是9.0中出现网络请求失败 Android 9.0的网络请求失败如下图: 出现这个错误的原因是:从Andr ...
- android搭建网络框架,Android 搭建MVP+Retrofit+RxJava网络请求框架(三)
上一篇中主要是将mvp+rxjava+retrofit进行了结合,本篇主要是对mvp框架的优化:建议先去看上一篇:Android 搭建MVP+Retrofit+RxJava网络请求框架(二) 针对vi ...
- android 7.0 短信监控,Android 7.0 监听网络变化的示例代码
Android7.0前,Android系统前网络切换时,会发广播,业务只要监听广播即可. public class NetChangeReceiver extends BroadcastReceive ...
- Android Asynchronous Http Client-Android异步网络请求客户端接口
1.简介 Android中网络请求一般使用Apache HTTP Client或者采用HttpURLConnect,但是直接使用这两个类库需要写大量的代码才能完成网络post和get请求,而使用and ...
- 在Mac下使用Charles抓取Android 7.0以上的Https请求
文章目录 一.Charles 设置 1. 第一步 2. 第二步 3. 第三步 3. 第四步开启SSL代理功能 二.手机安装证书 三.APP 网络安全配置 四.另一种抓包方式 因为开发需求,需要抓取 ...
- Android 避免主线程执行网络请求之Activity/Fragment 结束后处理异步回调
大家都知道Android涉及到与UI相关的操作只能在主线程执行 android4.0以后就禁止在主线程进行网络请求了,在主线程里面执行Http请求都会报NetworkOnMainThreadExcep ...
- Android 页面或文件或网络请求时的加载动画
//加载图片或页面或网络请求时出现加载动画 public Class LoadingAnimation{ private static LoadingAnimation loadingAnimatio ...
- android+MVP+Retrofit+RxJava做网络请求
1.MVP+Retrofit+RxJava做网络请求2.GreenDao把第一页的数据缓存到数据库,列表实现上拉加载更多,下拉刷新功能 3.列表中的图片(img字段)使用Fresco进行加载 4.Re ...
- Android9.0以上 http网络请求失败
一.前言 为保证用户数据和设备的安全,Google 针对下一代 Android 系统(Android P) 的应用程序,将要求默认使用加密连接,这意味着 Android P 将禁止 App 使用所有未 ...
最新文章
- 如何指定在Git上执行shell命令时使用的私有SSH密钥?
- Android开发UI之Fragment-Tabbed Activity的使用
- C++ Multimaps
- SAP Cloud for Customer根据Accouunt自动带出Sales Unit的配置
- 微信公众号开发-接入
- android camera工程师,Android从Camera中获取图片的两种方法
- python rsa库_Python中rsa模块【sign 加签验签】的使用
- Tensorflow(r1.4)API--tf.truncated_normal()
- nil,NULL,NSNull的区别
- win下php+mysql+apache配置
- MySQL字符串拼接函数介绍
- html 空格 正则表达式,正则表达式清除空格和html标签中的 空格
- 外置硬盘一插就卡_为什么电脑一插移动硬盘就卡死了?
- cym : BaseQuickAdapter.setOnItemChildClickListener失效点击没反应
- windows主机如何登录阿里云服务器
- AutoCAD VBA 通过选择集 删除图层上所有对象和图层
- 如何安装部署beego项目
- LOJ 3124 「CTS2019 | CTSC2019」氪金手游——概率+树形DP
- 关于φ与Φ函数与序列中分数个数的讨论
- 2017ICPC北京现场赛G Liaoning Ship’s Voyage(BFS+点在多边形内判定)
热门文章
- oracle汉字转拼音(获得全拼/拼音首字母/拼音截取等)
- mysql生成18位纯数字id_MySQL实现注册时随机生成数字id,类似于注册qq时随机生成qq号...
- iOS- 最全的真机测试教程
- c语言莫莫加等于莫莫什么意思,莫莫Momo
- 桌面计算机打开无响应,电脑桌面假死(点击无反应)怎么解决?
- vue父组件与子组件之间传值
- html5微相册,微信开发 微信H5开发 微信小程序 微报名 微相册 微**
- Design Compiler工具学习笔记(6)
- 讯飞语音集成(语音转文字,文字转语音)
- 7.Saying how you met