即使设备方向已锁定,App也会自动旋转

时间:2017-08-31 14:04:44

标签: android orientation

我正在开发基于常规活动的应用程序。 我已从设备设置中关闭设备方向。 当我在设备上运行我的应用时,应用会根据设备移动更改方向。 我不知道即使设备方向被锁定,应用程序如何旋转。 在堆栈溢出或任何其他论坛上没有报告或曾经询问过此类实例/问题。 请指出,我可能会缺少什么?

2 个答案:

答案 0 :(得分:0)

您可以检查设备旋转是否已关闭然后再锁定,如下所示:

if (android.provider.Settings.System.getInt(getContentResolver(), Settings.System.ACCELEROMETER_ROTATION, 0) == 1){
    //Auto Rotate is on, so don't lock

    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
}
else{
    //Auto Rotate is off, so lock

    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}

答案 1 :(得分:0)

这是一个非常愚蠢的错误,但我想在这里分享以防任何其他人面临这个问题。 有一次,在我的应用程序中,我以编程方式将设备方向设置为SCREEN_ORIENTATION_FULL_SENSOR:

activityContext.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR);

这允许应用程序根据传感器更改方向,即使用户已锁定设备方向。