Only fullscreen activities can request orientation
问题
当我们把targetSdkVersion升级到27,buildToolsVersion和相关的support library升级到27.0.2后,在Android 8.0(API level 26)上,Activity出现了一个莫名其妙的crash,异常信息如下:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xxx.xxx/com.xxx.xxx.WelcomeActivity}: java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation
原因
这个问题出现在Api 26上,抛出异常的代码:
if (ActivityInfo.isFixedOrientation(requestedOrientation)
&& !fullscreen
&& appInfo.targetSdkVersion >= O) {
throw new IllegalStateException("Only fullscreen activities can request orientation");
}
意思就是只有不透明的全屏activity可以自主设置界面方向。我们的启动页面Activity在style设置和在Manifset.xml设置下面属性导致抛出异常。
<item name="android:windowIsTranslucent">true</item>
android:screenOrientation="portrait"
修复
删除AndroidManifest中相应Activity的 android:screenOrientation=""属性;或者删除相应Activity的theme中true属性。但如果想保留screenOrientation,那么需要去除启动页白屏和黑屏的效果。
Only fullscreen activities can request orientation的更多相关文章
- Android Api 27 在 Android 8.0 上出现 Only fullscreen opaque activities can request orientation 的解决情况
刚上班,没有业务开发,对 App 的 Api 由 26 升级到了 27, 结果在 Android 8.0 的设备上会出现 crash . Log 如下: java java.lang.IllegalS ...
- android错误整理
1.Caused by: java.lang.IllegalStateException: Only fullscreen opaque activities can request orientat ...
- android 8.0 适配(总结)
android 8.0 对应的 sdk 版本 26 1. 通知栏 Android 8.0 引入了通知渠道,其允许您为要显示的每种通知类型创建用户可自定义的渠道.用户界面将通知渠道称之为通知类别. 针 ...
- Android各版本迭代改动与适配集合
前言 今天分享的面试题是: Android在版本迭代中,总会进行很多改动,那么你熟知各版本都改动了什么内容?又要怎么适配呢? Android4.4 发布ART虚拟机,提供选项可以开启. HttpURL ...
- Android Manifest.xml 结构详解
关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件.它位于整个项目的根目录,描述了package中暴露的组件(activities ...
- 配置文件:mainfest.xml
AndroidManifest.xml 是每个android程序中必须的文件. 它位于整个项目的根目录,描述了package中暴露的组件(activities,services, 等等),他们各自 ...
- Using PL/SQL APIs as Web Services
Overview Oracle E-Business Suite Integrated SOA Gateway allows you to use PL/SQL application program ...
- Android窗口系统第三篇---WindowManagerService中窗口的组织方式
Android窗口系统第一篇—Window的类型与Z-Order确定 Android窗口系统第二篇—Window的添加过程 上面文章梳理了一个窗口的添加过程,系统中有很多应用,每个应用有多个Activ ...
- Android中的TaskStack及启动模式
目录 前言 如何观察ActivityStack? 几个问题 关键类介绍 ActivityStack的创建与种类 不同启动模式 launchMode Standard SingleTop SingleT ...
随机推荐
- Codeforces Round #425 (Div. 2) B. Petya and Exam(字符串模拟 水)
题目链接:http://codeforces.com/contest/832/problem/B B. Petya and Exam time limit per test 2 seconds mem ...
- javascript window对象属性和方法
window对象 window对象表示一个浏览器窗口或一个框架.在客户端JavaScript中,window对象是全局对象,所有的表达式 都在当前的环境中计算.也就是说,要引用当前窗口根本不需要特殊的 ...
- WebRTC开发基础(WebRTC入门系列2:RTCPeerConnection)
RTCPeerConnection的作用是在浏览器之间建立数据的“点对点”(peer to peer)通信. 使用WebRTC的编解码器和协议做了大量的工作,方便了开发者,使实时通信成为可能,甚至在不 ...
- 【5】JMicro微服务-熔断降级
如非授权,禁止用于商业用途,转载请注明出处作者:mynewworldyyl 1. 使用服务熔断降级特性,必须先启动Pubsub服务,服务监听服务,熔断器服务3个服务 先启动Pubsub及服务监听两 ...
- POJ 2894
#include<iostream> #define MAXN 1005 using namespace std; int a[MAXN]; int main() { //freopen( ...
- Window 上安装Node.js
Window 上安装Node.js 1.Windows安装包下载地址 https://nodejs.org/en/ 2.下载好后,按照默认设置即可,安装路径可以更改 3.安装好后,检测PATH环境变量 ...
- ES练习代码
package elasticsearch; import java.util.HashMap; import java.util.List; import java.util.Map; import ...
- .net core2 mvc项目中,加入RazorPages页面
2017.08.22 试验结果: 1.手工添加/Pages文件夹 2.复制/Views/_ViewImports.cshtml到/Pages/_ViewImports.cshtml 2.1 修改@u ...
- 推荐一个 MYSQL 的命令行的客户端 MYCLI
MYCLI 是一个 MySQL 命令行客户端工具 , 可以实现自动补全(auto-completion)和语法高亮,平时测试环境维护一些数据还是蛮方便的. https://github.com/dbc ...
- linux 设置与网络同步的时间
#设置linux时间 与网络时间同步安装命令yum install -y ntp同步网络时间ntpdate ntp1.aliyun.com