Получить ориентацию телефона, когда заблокирован в одной ориентации
Это может быть просто дубликат другого вопроса, я просто пытаюсь понять, что искать.
Приложение моей камеры заблокировано в ландшафтном режиме (в манифесте) следующим образом:
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?считает, что» ориентация есть?