Я проверил все возможные решения во всех переполнениях стека решения и другие веб-сайты, но не повезло.
Мои требования:
Телефон - только портретный режим
Планшет - портретный и альбомный режим.
Итак, попробовал использовать следующее:
Для поиска устройства, если это телефон или планшет, который я использовал
if (getResources().getBoolean(R.bool.is_sw_600dp_size)) {
intent = new Intent(LauncherEmptyActivity.this, SplashActivityTablet.class);
} else {
intent = new Intent(LauncherEmptyActivity.this, SplashActivity.class);
}
И для моего требования, если я задал ориентацию как следующую для всех действий (вся ориентация, установленная в манифесте, также пыталась программировать, но не повезло)
-
LauncherEmptyActivity - Установить датчик
(or Set any of these above - "nosenser", "userSensor", "unspecified", "fullUser", "user")
-
SplashActivity - Установить портрет
-
SplashActivityTabet - то же, что и LauncherEmptyActivity
Результат:
-
Приложение открыто как в портретном, так и в ландшафтном режимах в Tablet (Ожидаемое O/P)
-
Но для телефона. Если он удерживается в ландшафтном режиме, то - SplashActivity будет пейзажем на короткое время и то это будет в портрете (Это проблема, и я не хочу этого на короткое время).
Проблема происходит в
-
Устройство - Nexus 5x (Naught),
-
Эмулятор - Google Pixel (Oreo)
Но работает отлично в устройстве - Moto G4 Plus (Naught)
Это для большей цели объяснения, Следующее решение отлично штраф Если мое требование
(работает нормально для всех вышеупомянутых устройств)
Телефон - только портрет
Планшет - только пейзаж
-
LauncherEmptyActivity - Установить портрет
-
SplashActivity - Установить портрет
-
SplashActivityTablet - установка ландшафта
(вся ориентация, установленная в манифесте)
Результат: Исправить, как ожидалось