Android 8.0 踩坑的两个注意事项

1,647 阅读1分钟

Only fullscreen opaque activities can request orientation

年后才把项目的sdk升级至27,项目上线之后bugly报了两个bug,数量很吓人的那种。。。
这是360强制升级的升级界面弹出来的时候崩溃。
Google 之后 发现是8.0上的一个 "bug": 配置了透明背景主题的activity 不能 require Orientation,需要在Manifest文件中去掉 android:screenOrientation="portrait"。似乎Google官方已经在8.1修复了,但是8.0的机型还是不能忽视。 (如果有更好的方法请告诉我)

but,此时版本已经发布,才发现是上个版本的bug问题,这时只好启用bugly强制升级,然而事情并不简单。。。
我用我的手机(8.0)测试了下,点击立即更新,等待apk下载完成,本来应该出现熟悉的应用安装界面没有出现,而是手机屏幕一闪而过,此时我的心已经凉凉。。。

再次Google,找到解决方式:"http://blog.csdn.net/github_2011/article/details/78589514"
"Android 8.0 Oreo 中,Google 移除掉了容易被滥用的“允许位置来源”应用的开关,在安装 Play Store之外的第三方来源的 Android应用的时候,竟然没有了“允许未知来源”的检查框,如果你还是想要安装某个被自己所信任的开发者的 app,则需要在每一次都手动授予“安装未知应用”的许可。 "
所以需要在Manifest文件中添加

<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>

done.
目前我就只能尽快上传应用市场,让用户手动升级解决。。。
PS..华为的Android版本升级就是快,bugly上面的bug几乎都是华为的8.0。。。