在我的应用程序中控制默认自动旋转屏幕

San*_*man 5 android device-orientation

我的应用程序中有一个切换按钮.我想以编程方式更改或控制默认设置,自动旋转屏幕(设置>显示>自动旋转屏幕).有人知道怎么做这个吗?

SER*_*PRO 10

你在活动中试过这个吗?

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

//This is the default value
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
Run Code Online (Sandbox Code Playgroud)

之后,您可以使用它来禁用自动方向:

public static void setAutoOrientationEnabled(ContentResolver resolver, boolean enabled)
{
  Settings.System.putInt(resolver, Settings.System.ACCELEROMETER_ROTATION, enabled ? 1 : 0);
}
Run Code Online (Sandbox Code Playgroud)

文档


Rid*_*ari 7

你可以用这个:

android.provider.Settings.System.putInt(getContentResolver(),
android.provider.Settings.System.USER ROTATION,user_rotation);
Run Code Online (Sandbox Code Playgroud)

轮换政策

user_rotation 0 -> ROTATION_0
user_rotation 1 -> ROTATION_90
user_rotation 2 -> ROTATION_180
user_rotation 3 -> ROTATION_270
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅http://developer.android.com/reference/android/provider/Settings.System.html#USER_ROTATION.

还有menifiest.xml设置

<uses-permission android:name="android.permission.WRITE_SETTINGS"></uses-permission>
Run Code Online (Sandbox Code Playgroud)