在Android Pie 9.0中,方向问题通常是由于系统更改了屏幕旋转的默认行为所致。以下是一种解决该问题的方法,包括代码示例:
这样做的目的是告诉系统在屏幕旋转时不要重新创建Activity,并将其固定在竖屏方向。
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
int orientation = getResources().getConfiguration().orientation;
if (orientation == Configuration.ORIENTATION_LANDSCAPE) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
} else {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT);
}
}
这段代码的作用是在Android Pie 9.0及更高版本的设备上,根据当前的屏幕方向设置Activity的方向。这样可以确保在用户旋转设备时,Activity能够正确地调整方向。
请注意,这种解决方法仅适用于需要固定屏幕方向的情况。如果您的应用程序需要支持横屏和竖屏切换,请根据实际需求修改以上代码。