Как узнать реальное физическое разрешение дисплея на Android?
Я пытаюсь узнать реальное физическое разрешение дисплея на своем устройстве Android TV. У меня два тестовых телевизора:
- FullHD с разрешением 1920 x 1080
- UHD с разрешением 3840 x 2160
Я хотел бы узнать реальное физическое разрешение экрана в зависимости от телевизора. Для этого я попытался прочитать displayMetrics двумя способами:
пытаться:
context.resources.displayMetrics
пытаться:
val displayMetrics = DisplayMetrics() activity.display?.getRealMetrics(displayMetrics)
К сожалению, мое устройство UHD показывает мне 1920x1080 для обеих упомянутых попыток. Меня не интересует какое-то уменьшенное разрешение дисплея.
Как я могу узнать реальное физическое разрешение дисплея в пикселях?
1 ответ
Android TV в настоящее время отображает пользовательский интерфейс на 1920x1080, а затем масштабируется на основе прикрепленной панели, поэтому вы не хотите смотреть на DisplayMetrics, а вместо этого проверяйте DisplayCompat.
Используйте DisplayCompat.getSupportedModes(), чтобы получить объекты ModeCompat, которые могут сообщить вам разрешение, но вам необходимо убедиться, что вы используете относительно последнюю версию AndroidX Core, поскольку в ядре 1.5.0-beta02 было исправление для некоторые панели неправильно отображали 1920x1080.