Как читать разрешение дисплея через HDMI? DisplayCompat отлично работает на AndroidTV напрямую, но не на AndroidTV Stick

Поскольку AndroidTV уменьшает пользовательский интерфейс для телевизионных устройств с разрешением UHD / 4K, DisplayMetrics всегда возвращает 1920x1080 для более высоких разрешений.

Одним из способов решения этой проблемы является DisplayCompat:

На многих устройствах Android TV Display.Mode может не сообщать точную ширину и высоту, потому что эти устройства не имеют достаточно мощных графических конвейеров для запуска кода платформы с теми же разрешениями, которые поддерживаются их конвейерами видео. Для этих устройств приложение не может определить, например, является ли текущий режим отображения 4k или что дисплей поддерживает переключение в другие режимы 4k.

      DisplayCompat.getsupportedModes(context, display)

отлично работает на устройствах 4K TV с установленной на нем ОС AndroidTV. Здесь я получаю реальное физическое разрешение. Всякий раз, когда у меня есть AndroidTV Stick (например, Chromecast) с запущенной на нем ОС AndroidTV, та же функция снова возвращает 1920x1080.

Как отметил Брайан Линдал в своем заявлении : « Мы многое узнали об архитектуре Android TV в этой области за последний год, и исходная концепция ошибочна. HDMI не позволяет определить, какой режим является «родным». Кроме того, свойства системы являются динамическими в зависимости от текущего режима отображения.

Как я могу прочитать разрешение экрана через HDMI?

0 ответов

Другие вопросы по тегам