Вы можете сделать это для всего приложения, не заставляя все ваши действия расширять общий базовый класс.
Сначала нужно убедиться, что вы включили подкласс Application в свой проект. В его onCreate (), вызываемом при первом запуске приложения, вы регистрируете объект ActivityLifecycleCallbacks (уровень API 14+) для получения уведомлений о событиях жизненного цикла активности.
Это дает вам возможность выполнять свой собственный код всякий раз, когда какая-либо активность в вашем приложении запускается (или останавливается, или возобновляется, или как угодно). В этот момент вы можете вызвать setRequestedOrientation () для вновь созданного действия.
И не забудьте добавить app: name = ". MyApp" в файл манифеста.
class MyApp extends Application {
@Override
public void onCreate() {
super.onCreate();
// register to be informed of activities starting up
registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
@Override
public void onActivityCreated(Activity activity,
Bundle savedInstanceState) {
// new activity created; force its orientation to portrait
activity.setRequestedOrientation(
ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
....
});
}
}