Установить ориентацию экрана приложения Android по устройству - PullRequest
2 голосов
/ 13 мая 2011

Я хочу изменить ориентацию экрана в зависимости от типа устройства.Дело в том, что наша платформа разработки подключается через HMDI к ЖК-дисплею (и фиксируется), а затем тестируется на реальном телефоне или планшете.Я хочу, чтобы платформа разработки всегда отображалась в альбомной ориентации, а все остальное - в портретной.

Я написал небольшой статический метод, который принимает объект Activity и вызывает его setScreenOrientation, если устройство имеет определенный тип.Я помещаю вызов этого метода в Activitys onCreate, передавая себя в качестве параметра.С другой стороны, я также поместил его в OnStart.Проблема в том, что это ведет к непредсказуемому поведению.Я подозреваю, что активность перезапускается с помощью вызова setRequestedOrientation.API действительно заявляет, что «возможно перезапустить Activity», вызывая этот метод.Иногда он меняет ориентацию несколько раз, прежде чем уладить, иногда нет, и кажется, что всегда происходит сбой приложения.

Я полагаю, что возникает вопрос: как установить ориентацию для действия, которое не имеетВы еще не начали без использования Манифеста?

Любая помощь приветствуется.

Спасибо, Брайан

1 Ответ

2 голосов
/ 13 мая 2011

Вы не можете установить ориентацию динамически, прежде чем вы действительно запустите.

Если вы хотите, чтобы ваша ориентация изменялась, вы должны использовать один из режимов ориентации: режим по умолчанию, позволяющий изменять его в зависимости от предпочтений устройства и того, как пользователь поворачивает экран, «сенсор» использует предпочтительную ориентацию устройства без изменение его в зависимости от того, как пользователь поворачивает экран и т. д.

...