Управление автоматическим поворотом экрана по умолчанию в моем приложении

У меня есть кнопка переключения в моем приложении. Я хочу изменить или контролировать настройку по умолчанию, автоповорот экрана (Настройки > Дисплей > Автоповорот экрана) программно. Кто-нибудь знает, как это сделать?


person Santhosh_pulliman    schedule 15.03.2012    source источник


Ответы (3)


Вы пробовали это в своей деятельности?

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

//This is the default value
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);

После этого вы можете использовать это, чтобы отключить автоматическую ориентацию:

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

Документация

person SERPRO    schedule 15.03.2012
comment
Я не хочу менять только ориентацию действия, но хочу изменить настройки. Я хочу включить и отключить автоповорот экрана в настройках Android. - person Santhosh_pulliman; 15.03.2012
comment
После выхода из моего приложения устройство не должно автоматически поворачивать экран. - person Santhosh_pulliman; 15.03.2012
comment
Большое спасибо :) Это то, что я ищу. - person Santhosh_pulliman; 15.03.2012

вы можете использовать это:

android.provider.Settings.System.putInt(getContentResolver(),
android.provider.Settings.System.USER ROTATION,user_rotation);

для политики ротации

user_rotation 0 -> ROTATION_0
user_rotation 1 -> ROTATION_90
user_rotation 2 -> ROTATION_180
user_rotation 3 -> ROTATION_270

см. http://developer.android.com/reference/android/provider/Settings.System.html#USER_ROTATION, чтобы узнать больше.

Также настройка menifest.xml

<uses-permission android:name="android.permission.WRITE_SETTINGS"></uses-permission>
person Riddhish.Chaudhari    schedule 15.03.2012
comment
@ Riddish.Chaudhari Большое спасибо :) - person Santhosh_pulliman; 15.03.2012

Вы устанавливаете настройки поворота по умолчанию в файле манифеста, например:

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

Чтобы программно изменить ориентацию, вы должны вызвать Activity.setRequestedOrientation().

person vladexologija    schedule 15.03.2012
comment
После выхода из моего приложения я хочу установить настройку автоматического поворота устройства (Настройки> Дисплей> Экран автоматического поворота) с помощью моего кода. Как я могу этого добиться? - person Santhosh_pulliman; 15.03.2012