Блокировка/разблокировка ориентации
Чтобы заблокировать мою ориентацию на портрет, я использую:
activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
Я не уверен, что флаг говорит о том, что активность вернулась к ориентации устройства. Я думаю, это один из них:
SCREEN_ORIENTATION_FULL_SENSOR
SCREEN_ORIENTATION_SENSOR
SCREEN_ORIENTATION_UNSPECIFIED
SCREEN_ORIENTATION_USER
В другом примечании, почему исходная документация для Android не открыта? Документация полностью отсутствует. Очень немногие функции и флаги имеют полезные описания.
Ответы
Ответ 1
Per http://developer.android.com/reference/android/R.attr.html#screenOrientation (screenOrientation - это то, с чем связаны эти значения, если вы просматриваете документацию), SCREEN_ORIENTATION_SENSOR
или SCREEN_ORIENTATION_FULL_SENSOR
сделают это, в зависимости от того, насколько вы гибки, но я подозреваю, что вы действительно хотите вернуться к настройке по умолчанию, которая равна SCREEN_ORIENTATION_UNSPECIFIED
, чтобы она возвращалась к системным значениям по умолчанию, включая любой набор пользователей.
Ответ 2
Легкое исправление для этого, которое сработало для меня, - это добавить строку в AndroidManifest.xml следующим образом:
Добавить андроид: screenOrientation = "портрет" > в разделе приложения.
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".App"
android:label="@string/app_name"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
Ответ 3
Если для атрибута "android:immersive"
установлено значение" true
"в приложении manifest entry
для этого действия, элемент ActivityInfo.flags
всегда имеет установленный бит FLAG_IMMERSIVE, даже если режим погружения изменяется во время выполнения с помощью" setImmersive()
"метод.