2013-02-20 6 views
6

Есть ли какой-либо механизм (в SDK или NDK) для получения информации о поставщике (или действительно какой-либо информации) о текущем дисплее? В частности, я надеюсь найти, если дисплей OLED против LCD против другого, так как каждое OLED-устройство, которое я тестировал, имеет ужасную точность цвета (перенасыщение); и поскольку Android не имеет цветовой коррекции, это необходимо исправить на уровне приложения. Поскольку резервное копирование с использованием ручного списка популярных OLED-устройств и поиск по типу устройства теоретически возможно, но (а) там есть много устройств и (б) работа на устройстве, а не уровень отображения, добавляет дополнительную сложность для устройств с использованием внешних дисплеев. Даже составление списка будет сложным ...Обнаружение типа дисплея в Android

+0

Попробуйте 'Build.DISPLAY' Я никогда не использовал его, поэтому я не могу ручаться за него, но он может содержать что-то полезное. [Build docs] (https://developer.android.com/reference/android/os/Build.html) – FoamyGuy

+3

Build.DISPLAY, по-видимому, предназначен как «отображаемая (для пользователя) версия идентификатора сборки», а не как «идентификатор физического дисплея». – addaon

+2

Я не думаю, что есть какой-либо API-запрос для такого рода информации. Я полагаю, что это связано с каким-то конкретным драйвером устройства, поэтому, возможно, если вы проверите исходный код ядра Android, вы можете найти руководство по доступу к этим драйверам, но это лишь неопределенное предположение, и на самом деле это может быть довольно жесткое ядро вещи. – Ridcully

ответ

0

Пошел на Android-код, и я с большой уверенностью спросил, есть ли метод API, который возвращает тип отображения.

+0

Итак, никто даже не пытается сделать коррекцию цвета на Android? – addaon

+0

@addaon Управление цветом будет хорошей функцией для Android. Конечно, это необходимо для различных дисплеев. –

0

Большая часть данных Android Build поступает из запроса каталога /proc. Я начал пробираться сюда, надеясь найти что-то, но есть много информации для просмотра страницы. Это было бы неплохо начать - или искать в другом месте в командной строке.

Вы можете получить доступ к командной строке, перейдя в каталог platform-tools, и набрав

./adb shell 

при подключении устройства. Вы также можете выполнять команды оболочки из кода:

Process p = Runtime.getRuntime().exec("cat /proc/whatever"); 
//you can then use p to get the command output. 
Смежные вопросы