Соблюдение блокировки вращения в android

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

  1. Settings.System.ACCELEROMETER_ROTATION - определить, заблокирована ли ориентация экрана.
  2. Display.getRotation () - определяет, поворачивается ли устройство от его «естественной» ориентации, которая может быть портретной или альбомной.
  3. Display.getWidth () / getHeight () - определить текущую ориентацию устройства.

Я думал, что это будет просто сделать, но, похоже, я не могу найти правильную комбинацию из вышеперечисленного, чтобы заставить это работать. Сообщаемые значения кажутся несовместимыми, особенно во время запуска приложения (подходит ли onResume для проверки этих значений?).

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

5
задан slushi 14 December 2011 в 18:38
поделиться