Получить ориентацию телефона, когда заблокирован в одной ориентации

Это может быть просто дубликат другого вопроса, я просто пытаюсь понять, что искать.

Приложение моей камеры заблокировано в ландшафтном режиме (в манифесте) следующим образом:

android:screenOrientation="landscape"

Тем не менее, я хочу повернуть некоторые элементы пользовательского интерфейса, когда устройство повернуто в портретное положение (хотя Android по-прежнему будет думать, что оно в альбомной ориентации, но это специально).

Так что я'мы попробовали это, чтобы проверить ориентацию

int rotation = this.getWindowManager().getDefaultDisplay()
            .getRotation();
    int degrees = 0;
    switch (rotation) {
        case Surface.ROTATION_0:
            Log.d("Rotation", "0");
            break;
        case Surface.ROTATION_90:
            Log.d("Rotation", "90");
            break;
        case Surface.ROTATION_180:
            Log.d("Rotation", "180");
            break;
        case Surface.ROTATION_270:
            Log.d("Rotation", "270");
            break;
    }

И, к сожалению, он всегда возвращает 90, независимо от того, как я включаю телефон. Есть ли более надежный способ ориентации вне зависимости от того, какой Android?считает, что» ориентация есть?

Ответы на вопрос(5)

Ваш ответ на вопрос