У меня есть AlarmManager что выполнить Намерение Broadcast каждый 5мин:Android: Получить поворот экрана от BroadcastReceiver
AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
alarmManager.setExact(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + 300000, PendingIntent.getBroadcast(context, 0, new Intent(context, Sensors.class), 0));
Внутри OnReceive метода BroadcastReceiver, я должен знать ориентацию устройства (0 °, 90 °, 180 °, 270 °):
int orientation = ((WindowManager) context.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay().getOrientation();
Все работает нормально. Но когда я сворачиваю или закрываю приложение, вращение экрана всегда возвращает 0 ° (ориентация экрана для Android), даже если устройство лежит горизонтально.
Как узнать ротацию устройства от BroadcastReceiver, независимо от статуса приложения или устройства?
Спасибо @ M66B, но он возвращает «пейзаж» или «портрет». Мне нужно знать вращение (0 °, 90 °, 180 ° или 270 °) – Denis