开发中遇到一个问题,在相机CameraActivity设置了setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); CameraActivity是横屏展示。
从A Activity(PORTRAIT)打开B CameraActivity,然后,又从B finish到A。 A会执行两次重载。切换两次屏幕(竖,横,竖)。
目前只在华为手机(Android 8.1)发现这个问题。
1、对A Activity 设置了 android:screenOrientation="portrait" ,android:configChanges="keyboardHidden|orientation|screenSize"。不起作用。仍然切换两次屏幕。不知道为什么。
2、解决办法,借鉴了这篇文章 https://www.domon.cn/2018/12/06/Android-8-1-screen-rotation-error/;作者Domon。非常感谢。
3、在A Activity 中进行以下设置
@Override
protected void onResume() {
super.onResume();
if (android.os.Build.VERSION.SDK_INT >= 27) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT);
}
}
@Override
protected void onPause() {
super.onPause();
if (a

在开发中,遇到一个特定于华为Android 8.1手机的问题,当从竖屏的A Activity跳转到横屏的CameraActivity时,返回A会触发两次重载,屏幕旋转两次。尝试在A Activity设置屏幕方向和配置变化处理无效。解决方案是参照文章,通过在A Activity中添加特殊处理来避免不必要屏幕旋转。
1099

被折叠的 条评论
为什么被折叠?



