博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 9.0(API 28)遇到的坑
阅读量:7029 次
发布时间:2019-06-28

本文共 1246 字,大约阅读时间需要 4 分钟。

先发布在简书上了

1. 非全屏Activity不能设置orientation

Error: java.lang.IllegalStateException: Only fullscreen activities can request orientation

原因

如果一个Activity的Style符合下面三个条件之一,认为不是“fullscreen”:复制代码
  • “windowIsTranslucent”为true;

  • “windowIsTranslucent”为false,但“windowSwipeToDismiss”为true;

  • “windowIsFloating“为true;

    综上可见,这个改动的目的是想阻止非全屏的Activity锁定屏幕旋转,因为当前Activity是透明的,浮动的或可滑动取消的,是否锁屏应该由全屏的Activity决定,而不是并没有全部占据屏幕的Activity决定。

Ref:

https://zhuanlan.zhihu.com/p/32190223复制代码

注:

查看Android源码发现, API 26和27都在Activity.java的onCreate里,都有这段是否为背景透明或者是浮动窗口的判断:复制代码

ActivityInfo

而在API 28的Activity中,已经没有这段判断了!复制代码

2. Android 9.0上,QQ分享报错。提示找不到org/apache/http/conn/scheme/SchemeRegistry 类。

Error

App的targetSdkVersion设置为28时,在Android 9.0的手机上进行QQ分享报错。提示找不到 org/apache/http/conn/scheme/SchemeRegistry 类。复制代码

原因

Apache HTTP 客户端弃用(摘自Android 9.0官方变更说明)复制代码

在 Android 6.0 中,我们取消了对 Apache HTTP 客户端的支持。 从 Android 9 开始,默认情况下该内容库已从 bootclasspath 中移除且不可用于应用。

要继续使用 Apache HTTP 客户端,以 Android 9 及更高版本为目标的应用可以向其 AndroidManifest.xml 添加以下内容:

注:拥有最低 SDK 版本 23 或更低版本的应用需要 android:required=”false” 属性,因为在 API 级别低于 24 的设备上,org.apache.http.legacy 库不可用。 (在这些设备上,Apache HTTP 类在 bootclasspath 中提供。

Ref:

https://developer.umeng.com/docs/66750/detail/94386复制代码

转载于:https://juejin.im/post/5cde1b75f265da035e214d99

你可能感兴趣的文章
苏宁11.11:如何基于异步化打造会员任务平台?
查看>>
区块链和数据科学:如果同时应用这两种技术,将会实现什么?
查看>>
Oracle即将发布的全新Java垃圾收集器 ZGC
查看>>
深入浅出Tensorflow(三):训练神经网络模型的常用方法
查看>>
Blazor将.NET带回到浏览器
查看>>
利用人工智能提升团队包容性
查看>>
详解分布式系统本质:“分治”和“冗余”
查看>>
gRPC-Web发布,REST又要被干掉了?
查看>>
全站爬虫项目一阶段总结
查看>>
在项目中引入领域驱动设计的经验
查看>>
用关系型NoSQL回到未来
查看>>
Jeff Bean谈Flink与流式处理的5大新发现
查看>>
技术寡头争霸传之:控制开源工具,就控制了整个生态
查看>>
微软把UWP定位成业务线应用程序开发平台
查看>>
2018腾讯云+未来峰会互联网专场:腾讯云智能物联解决方案亮相
查看>>
Python数据可视化的10种技能
查看>>
关于有效的性能调优的一些建议
查看>>
微软发起Java on Azure调查,呼吁Java社区积极参与
查看>>
搭建svn仓库
查看>>
JavaScript arguments 对象详解
查看>>