Я разрабатываю игру, которая запускается в виде веб-браузера для устройств Android. Все работает, как и ожидалось - в этом случае я заблокировал вид в альбомной ориентации и не позволил устройству перезапустить активность, если телефон повернут.
Однако, если я уложу свое устройство в спящий режим, а затем разблокирую его, я на мгновение вижу свое приложение в портретном режиме, пока мое устройство не переориентируется на альбомную ориентацию. Такое поведение имеет смысл, поскольку телефон естественным образом используется в портретной ориентации, но я не хочу, чтобы моя деятельность переключалась с альбомной.
Если я запускаю любую другую игру, под которой я подразумеваю те, которые предположительно написаны на нативном коде, которые заблокированы в ландшафтном режиме, а затем блокирую и разблокирую мой телефон, игра не делает то же самое быстро, переключаясь с танец портрета-пейзажа.
Чего мне не хватает?
В MainActivity у меня есть
this.setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE)
в нескольких местах, включая onConfigurationChanged, onWindowFocusChanged, onPause и onResume.
Вот как моя активность определяется в моем AndroidManifest
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:hardwareAccelerated="true"
android:screenOrientation="sensorLandscape"
android:configChanges="orientation|screenSize"
android:launchMode="singleTask"
android:alwaysRetainTaskState="true"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:windowSoftInputMode="stateAlwaysHidden" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Спасибо за любую помощь / совет!
-J.L.