Блокировка телефона в портретном режиме

Я хочу программно изменить режим вращения в моем приложении. Все обсуждения, которые я обнаружил, касались отключения ротации в определенных видах деятельности. Я хочу заблокировать весь телефон в портретном режиме. Как мне это сделать?

Редактировать. Чтобы уточнить, я хочу заблокировать весь телефон, включая все другие приложения, настройки и т. Д. Не только мое собственное приложение.

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/

Если вы работаете с фрагментами, вам просто нужно определить это еще раз, вам нужно определить его в каждом теге активности...

Другие вопросы по тегам