Вы можете добиться этого для всего приложения, следуя простому способу. Это устранит накладные расходы на расширение общего базового класса, а также объявление манифеста в каждом действии для Portrait.
Для этого ваше приложение должно иметь класс приложения. В его onCreate (), когда ваше приложение запускается в первый раз, вам необходимо зарегистрировать объект ActivityLifecycleCallbacks (уровень API 14+), чтобы получать уведомления о событиях жизненного цикла активности.
Вышеупомянутый обратный вызов дает вам возможность выполнить свой собственный код всякий раз, когда какое-либо действие запускается (или останавливается, или возобновляется, или что-то еще). Вы можете использовать это для setRequestedOrientation () для вновь созданного действия.
class DummyApp extends Application {
@Override
public void onCreate() {
super.onCreate();
// Register Callback
registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
@Override
public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
// Other method of the ActivityLifecycleCallbacks as well you need to over-ride.
});
}
}