Jak uzyskać orientację CURRENT (ActivityInfo.SCREEN_ORIENTATION_ *) na urządzeniu z Androidem?
Chciałbym dowiedzieć się o szczegółowej orientacji urządzenia, najlepiej jednej zSCREEN_ORIENTATION_LANDSCAPE
, SCREEN_ORIENTATION_PORTRAIT
, SCREEN_ORIENTATION_REVERSE_LANDSCAPE
, SCREEN_ORIENTATION_REVERSE_PORTRAIT
zActivityInfo
lub odpowiednik.
Niektóre z odpowiedzi tutaj zawarte w StackOverflow
<code>getWindowManager().getDefaultDisplay().getRotation() </code>
ale to naprawdę nie mówi mi, czy urządzenie jest w trybie pionowym czy poziomym, tylko jak jest obracane w odniesieniu do jego naturalnej pozycji - co z kolei może w pierwszym rzędzie być krajobrazem lub portretem.
<code>getResources().getConfiguration().orientation </code>
zwraca jedną z następujących trzech:ORIENTATION_LANDSCAPE
, ORIENTATION_PORTRAIT
, ORIENTATION_SQUARE
, co tak naprawdę nie mówi mi, w którą stronę telefon jest włączony (czy to do góry nogami, czy do której strony jest włączony).
Wiem, że mógłbym użyć tego drugiego w połączeniu zDisplayMetrics
aby znaleźć naturalną orientację urządzenia, ale czy naprawdę nie ma lepszego sposobu?