Блокировка телефона в портретном режиме
Я хочу программно изменить режим вращения в моем приложении. Все обсуждения, которые я обнаружил, касались отключения ротации в определенных видах деятельности. Я хочу заблокировать весь телефон в портретном режиме. Как мне это сделать?
Редактировать. Чтобы уточнить, я хочу заблокировать весь телефон, включая все другие приложения, настройки и т. Д. Не только мое собственное приложение.
4 ответа
Добавьте следующее в свою деятельность по созданию:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
В вашем наборе AndroidManifest.xml...
андроид:screenOrientation="портрет"
... в качестве атрибута для вашей деятельности / деятельности.
Самый простой, быстрый и гарантированный для работы способ сделать это - определить родительский класс Activity:
public class MyActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
}
и тогда все ваши действия наследуют родительскую активность:
Деятельность 1:
public class MainActivity extends MyActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
Деятельность 2:
public class LoginActivity extends MyActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
}
}
Таким образом, вам нужно определить его только один раз.
Этого поста должно быть достаточно, чтобы ответить на ваш вопрос:)
stackru.com/questions/582185/
Если вы работаете с фрагментами, вам просто нужно определить это еще раз, вам нужно определить его в каждом теге активности...