在 Android 8 中,屏幕旋转默认是开启的,但是有可能被用户禁用了。通过以下代码来检查屏幕旋转是否被启用:
int status = Settings.System.getInt(getContentResolver(), Settings.System.ACCELEROMETER_ROTATION, 0);
if (status == 1) {
// 屏幕旋转被启用
} else {
// 屏幕旋转被禁用
}
如果屏幕旋转被禁用了,可以通过以下代码来启用屏幕旋转:
Settings.System.putInt(getContentResolver(), Settings.System.ACCELEROMETER_ROTATION, 1);
有时候用户会在屏幕旋转设置中启用了锁定屏幕旋转的选项,在这种情况下屏幕不会旋转。可以使用以下代码检查是否启用了锁定屏幕旋转的设置:
int status = Settings.System.getInt(getContentResolver(), Settings.System.USER_ROTATION, Surface.ROTATION_0);
if (status == Surface.ROTATION_0) {
// 锁定屏幕旋转已启用
} else {
// 锁定屏幕旋转未启用
}
如果锁定屏幕旋转已启用,可以使用以下代码来禁用锁定屏幕旋转的选项:
Settings.System.putInt(getContentResolver(), Settings.System.USER_ROTATION, Surface.ROTATION_0);
如果屏幕旋转仍然无法工作,可能是因为没有在配置文件中正确设置 Activity 的属性。在 AndroidManifest.xml 文件中的 Activity 标