如何将应用程序锁定为纵向模式作为用户首选项

时间:2012-08-21 01:31:11

标签: android autorotate auto-rotation

我知道如何将应用锁定为纵向模式forever

<activity
android:screenOrientation="portrait"
android:name=".MyActivity"></activity>

我现在想把它作为用户偏好。也就是说,我不想为整个手机选中/取消选中Settings > Display > Auto-rotate screen,而是希望我的应用只有一个类似的复选框。

我如何以编程方式执行此操作?

2 个答案:

答案 0 :(得分:0)

感谢this answer,我想出了以下内容:

 private void doLock(boolean locked) {
        if (locked) {
            int o = getResources().getConfiguration().orientation;
            if (o == Configuration.ORIENTATION_LANDSCAPE)
                setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);             
            else if (o == Configuration.ORIENTATION_PORTRAIT)
                setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);              
        } 
        else {
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
        }
  }

答案 1 :(得分:-1)

您也可以在AndroidManifest.xml中将其指定为:

 <activity 
        android:name=".activityName" 
        android:label="@string/app_name" 
        android:screenOrientation="portrait">