я попробовал это, не работает, я всегда получал 0 градусовКак получить ориентацию Android устройства при запуске приложения
Display display = ((WindowManager)getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
int screenOrientation = display.getRotation();
Если использование SensorManager, он также не будет работать, потому что он не будет срабатывать, если я не перемещайте телефон
mOrientationEventListener = new OrientationEventListener(this, SensorManager.SENSOR_DELAY_NORMAL) {
@Override
public void onOrientationChanged(int orientation) {
}
};
Update
Пожалуйста, попробуйте полную демо
https://github.com/sochap/getorientationquestdemo
Поскольку дисплей не меняется, используйте дисплей, чтобы определить, что невозможно
Я собираюсь получить ориентацию устройства, а не ориентации дисплея
OrientationEventListener
будет работать, но не в onCreate
проверки ориентации экрана написать этот код в OnCreate «, если (GetResources(). GetConfiguration(). Ориентация == Configuration.ORIENTATION_LANDSCAPE) { режим // Пейзаж } ", и если вы хотите проверить, то вы также можете проверить в портретном режиме – Hanuman
Возможный дубликат [Как получить текущую ориентацию экрана?] (http://stackoverflow.com/questions/3663665/how-can-i- get-the-current-screen-orientation) – earthw0rmjim
Вы можете проверить, изменилась ли ориентация экрана, переопределив onOrientationChaged в действии – Hanuman