2013-02-22 5 views
0

Я запускаю что-то в onCreate() при инициализации.Android блокировка экрана ориентации и оставить onCreate() нетронутой

Если пользователь поворачивает экран, он вызывает onCreate().

Я хочу отключить поворот экрана и позволить onCreate() запускать ТОЛЬКО при начальной инициализации.

Достаточно ли добавить android: screenOrientation = "портрет" в манифест или будет onCreate() все еще запущен?

Спасибо!

ответ

1

Если вы положили android:screenOrientation="portrait" в свой манифест, телефон не будет обрабатывать изменения ориентации, а onCreate() не будет вызван снова. Итак: ДА, этого достаточно!

Вы можете легко проверить его, если вы установите Отладочный маркер в onCreate(), а затем поверните телефон!

0

Если вы держите свой Activity в Portrait или в Landscape, поворота больше не будет. Таким образом, onCreate() будет работать до конца, хотя вы будете пытаться повернуть устройство

0

Добавить в манифесте:

android:configChanges="orientation" 
android:screenOrientation="portrait" 
+0

Что ориентация линии делать именно? Мне также нужно добавить его? – dorien

+0

configChanges означает, что изменение конфигурации обрабатывается самой деятельностью. Без него активность будет перезапущена, если произойдет изменение ориентации. Вы могли бы спросить, указали ли вы, что ориентация - это «портрет», как бы это изменилось? Это может измениться, если вы запускаете другое действие, которое изменяет ориентацию, а затем завершает это новое действие, возвращая вас к вашей деятельности. Например, намерение захвата изображения по умолчанию на Samsung Galaxy S3 делает это в определенных направлениях. От: http://stackoverflow.com/questions/4885620/force-portrait-orientation-mode – baboo

Смежные вопросы