问题

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网络请求被限制解决方案相关推荐

  1. Android 9.0/P(android p指安卓9.0版本) okhttp3网络请求出错

    已经在AndroidManifest.xml申请网络权限,在8.0以下的系统中网络访问正常,但是9.0中出现网络请求失败 Android 9.0的网络请求失败如下图: 出现这个错误的原因是:从Andr ...

  2. android搭建网络框架,Android 搭建MVP+Retrofit+RxJava网络请求框架(三)

    上一篇中主要是将mvp+rxjava+retrofit进行了结合,本篇主要是对mvp框架的优化:建议先去看上一篇:Android 搭建MVP+Retrofit+RxJava网络请求框架(二) 针对vi ...

  3. android 7.0 短信监控,Android 7.0 监听网络变化的示例代码

    Android7.0前,Android系统前网络切换时,会发广播,业务只要监听广播即可. public class NetChangeReceiver extends BroadcastReceive ...

  4. Android Asynchronous Http Client-Android异步网络请求客户端接口

    1.简介 Android中网络请求一般使用Apache HTTP Client或者采用HttpURLConnect,但是直接使用这两个类库需要写大量的代码才能完成网络post和get请求,而使用and ...

  5. 在Mac下使用Charles抓取Android 7.0以上的Https请求

    文章目录 一.Charles 设置 1. 第一步 2. 第二步 3. 第三步 3. 第四步开启SSL代理功能 二.手机安装证书 三.APP 网络安全配置 四.另一种抓包方式   因为开发需求,需要抓取 ...

  6. Android 避免主线程执行网络请求之Activity/Fragment 结束后处理异步回调

    大家都知道Android涉及到与UI相关的操作只能在主线程执行 android4.0以后就禁止在主线程进行网络请求了,在主线程里面执行Http请求都会报NetworkOnMainThreadExcep ...

  7. Android 页面或文件或网络请求时的加载动画

    //加载图片或页面或网络请求时出现加载动画 public Class LoadingAnimation{ private static LoadingAnimation loadingAnimatio ...

  8. android+MVP+Retrofit+RxJava做网络请求

    1.MVP+Retrofit+RxJava做网络请求2.GreenDao把第一页的数据缓存到数据库,列表实现上拉加载更多,下拉刷新功能 3.列表中的图片(img字段)使用Fresco进行加载 4.Re ...

  9. Android9.0以上 http网络请求失败

    一.前言 为保证用户数据和设备的安全,Google 针对下一代 Android 系统(Android P) 的应用程序,将要求默认使用加密连接,这意味着 Android P 将禁止 App 使用所有未 ...

最新文章

  1. 如何指定在Git上执行shell命令时使用的私有SSH密钥?
  2. Android开发UI之Fragment-Tabbed Activity的使用
  3. C++ Multimaps
  4. SAP Cloud for Customer根据Accouunt自动带出Sales Unit的配置
  5. 微信公众号开发-接入
  6. android camera工程师,Android从Camera中获取图片的两种方法
  7. python rsa库_Python中rsa模块【sign 加签验签】的使用
  8. Tensorflow(r1.4)API--tf.truncated_normal()
  9. nil,NULL,NSNull的区别
  10. win下php+mysql+apache配置
  11. MySQL字符串拼接函数介绍
  12. html 空格 正则表达式,正则表达式清除空格和html标签中的 空格
  13. 外置硬盘一插就卡_为什么电脑一插移动硬盘就卡死了?
  14. cym : BaseQuickAdapter.setOnItemChildClickListener失效点击没反应
  15. windows主机如何登录阿里云服务器
  16. AutoCAD VBA 通过选择集 删除图层上所有对象和图层
  17. 如何安装部署beego项目
  18. LOJ 3124 「CTS2019 | CTSC2019」氪金手游——概率+树形DP
  19. 关于φ与Φ函数与序列中分数个数的讨论
  20. 2017ICPC北京现场赛G Liaoning Ship’s Voyage(BFS+点在多边形内判定)

热门文章

  1. oracle汉字转拼音(获得全拼/拼音首字母/拼音截取等)
  2. mysql生成18位纯数字id_MySQL实现注册时随机生成数字id,类似于注册qq时随机生成qq号...
  3. iOS- 最全的真机测试教程
  4. c语言莫莫加等于莫莫什么意思,莫莫Momo
  5. 桌面计算机打开无响应,电脑桌面假死(点击无反应)怎么解决?
  6. vue父组件与子组件之间传值
  7. html5微相册,微信开发 微信H5开发 微信小程序 微报名 微相册 微**
  8. Design Compiler工具学习笔记(6)
  9. 讯飞语音集成(语音转文字,文字转语音)
  10. 7.Saying how you met