Как определить, включен ли порт HDMI на устройстве Android с поддержкой HDCP?
Не могу найти ничего определенного на Android Doc и Google.
Если есть API для обнаружения этого, что это такое и каков API для включения / выключения HDCP на выходе HDMI?
Если нет API для обнаружения этого, можно ли использовать устройство для проверки флага HDCP на порте HDMI?
На некоторых устройствах Android (особенно на устройствах Samsung) в порту HDMI всегда включен HDCP. Но как насчет устройств других производителей? Является ли HDCP обязательным на сертифицированном устройстве Google? Если это не является обязательным, то как приложения Android крупных провайдеров контента (от телекомпании Большой кабельной компании) предотвращают вывод видео на порт HDMI, не защищенный HDCP?
4 ответа
Вы можете попробовать проверить Display
флаги: http://developer.android.com/reference/android/view/Display.html
FLAG_SECURE или FLAG_SUPPORTS_PROTECTED_BUFFERS ( http://developer.android.com/reference/android/view/Display.html и http://developer.android.com/reference/android/view/Display.html)
Это старая ветка - но так как я снова работаю над этим, я подумал, что обновлю.
Начиная с API 17 (Android 4.2+), вы можете получить достойный прокси для информации HDCP из стандартного Android SDK.
Если вы хотите убедиться, что дисплей "защищен", вы можете вызвать setSecure(true) в приложении Surface. Затем для правильной оценки вы можете перечислить доступные дисплеи и убедиться, что FLAG_SECURE установлен для каждого из них. Это заблокирует DDMS и по крайней мере намекает драйверу дисплея, что на выходе должен быть включен HDCP. Хотя никаких гарантий и ваш пробег может отличаться.
На дальнейшее примечание - путь Алекса, указанный выше, возможно, изменился на более новых устройствах (Android 5.1+). Но так как это зависит от производителя, ожидайте, что это может отличаться на разных устройствах.:-(
У Motorola был API: http://web.archive.org/web/20120213100531/http://developer.motorola.com/docstools/library/motorola-hdmi-status-api/
Мы все еще используем его для старых устройств. Я также читал, что кто-то добился определенного успеха, все еще используя это на новых устройствах через adb, поэтому, если кто-то знает, работает ли это на более новых устройствах Motorola, пожалуйста, поделитесь.
Также я знаю, что это не то, о чем вы просили, однако мы используем это для статуса HDMI (/sys/devices/virtual/switch/hdmi/state), надеюсь, в будущем они также расширят его для поддержки HDCP.. так что вы можете посмотреть это место.
Чаще всего, если у него есть порт HDMI, HDCP будет включен, потому что он не будет работать без него!