У меня есть активность, зафиксированная на манифесте в ландшафтном режиме, и мне нужно определить, поворачивается ли экран до «Портрет». на данный момент, я использую и играю с и устанавливаю условия на Ориентационные значения, но я чувствую, что это непротиворечиво и что есть слишком много дел для обработки, и мне нужно будет отслеживать все значения ориентации чтобы действительно следить за все переданные значения, я вроде чувствую, что я изобретать колесо ..Определить поворот на портрет, если активность зафиксирована в ландшафтном режиме
private void listenToDeviceRotation() {
OrientationEventListener mOrientationEventListener = new OrientationEventListener (CodesActivity.this) {
@Override
public void onOrientationChanged (int orientation) {
if (orientation == ORIENTATION_UNKNOWN) {
return;
}
Log.e ("-- " + CodesActivity.class.getSimpleName() + " - ", "ORIENTATION : " + orientation);
if (firstOrientation == -1) {
firstOrientation = orientation;
return;
}
if (((orientation >= 0 && orientation < 120) || (orientation > 240 && orientation < 360))) {
finish();
return;
}
}
};
if (mOrientationEventListener.canDetectOrientation()){
mOrientationEventListener.enable();
}
}
есть ли лучший способ получить поворот экрана/ориентацию, даже если активность фиксируется в пейзаж?
ps: I target API 17.
Спасибо.
Это не работает. Функция getResources(). GetConfiguration(). Always всегда возвращает то, что объявлено в манифесте. – Copernic