8.0启动奔溃问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zh_qianwei/article/details/81484973

近期新写了一个APP发现启动页面有奔溃数据,而且都发生在android8.0上面。我们自己的8.x测试机型没有出问题
异常如下

Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{xxxx.xxxx.SplashActivity}: java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation
……..

查找早期8.0源码

void setRequestedOrientation(int requestedOrientation) {
if (ActivityInfo.isFixedOrientation(requestedOrientation) && !fullscreen&& appInfo.targetSdkVersion > O) {
throw new IllegalStateException(“Only fullscreen activities can request orientation”);
}

目前新版这部分去掉了,所以在早期的8.0系统中,如果app设置了全屏这地方就会出异常。
解决办法。参考
https://www.jianshu.com/p/96b7b39dcc9c
网上说的设置透明属性的方式实测无效。
另外上面链接提到一个应用内安装apk问题,也需要适配。部分机型无需适配他自己就会提示权限(这个特别要注意)

猜你喜欢

转载自blog.csdn.net/zh_qianwei/article/details/81484973