Как обнаружить (код Java) "тип коробки" googleTV или googleTV со встроенным дисплеем ("тип телевизора")
Есть ли способ обнаружить это в моем коде приложения для Android? Я хочу различать "тип коробки" (например, NSZGS7, без дисплея) и встроенный тип телевизора (NSXGT1, с дисплеем) для устройств googleTV. Существует ли стандартное системное свойство или флаг функции, который я могу использовать для этого дифференцирования?
3 ответа
Это код, который я сейчас использую. Это не перспектива на будущее, это означает, что этот код необходимо будет обновлять по мере выпуска новых устройств TVTV типа GoogleTV. Тем не менее, этот код выполняет работу на данный момент.
boolean is_gtv_device_type_tv(){
if (context.getPackageManager().hasSystemFeature("com.google.android.tv")) {
if(android.os.Build.DEVICE != null) {
if(android.os.Build.DEVICE.equalsIgnoreCase("asura"))
return true;
if(android.os.Build.DEVICE.equalsIgnoreCase("cosmo"))
return true;
}
// All other google tv devices are buddy boxes!! :)
return false;
}
}
В свойствах устройства проверьте ro.hdmi.device_type. Для устройств с приемником HDMI, таких как панельные телевизоры, это «0». Для устройств-источников HDMI, таких как блоки Over the Top (OTT), это «4».
Проверьте это по adb:
adb shell getprop ro.hdmi.device_type
Проверьте это по коду:
public static String getDeviceType() {
switch (System.getProperty("ro.hdmi.device_type")){
case "0":
return "TV";
case "4":
return "BOX";
default:
return "UNKNOWN";
}
}
Я не думаю, что есть супер элегантный способ обнаружить, если устройство имеет дисплей или это коробка. Но вы можете использовать android.os. Build для определения производителя / устройства / модели и т. Д. И различать их в зависимости от свойств системы. http://developer.android.com/reference/android/os/Build.html
Вот системные свойства для большинства доступных в настоящее время устройств GTV:
MANUFACTURER DEVICE MODEL
Sony NSX-GT1(TV) Sony asura Internet TV
Sony NSZ-GT1(BD) Sony eagle Internet TV Box
Sony NSZ-GS7(Box) Sony NSZGS7 NSZ-GS7/GX70
Sony NSZ-GU1(Stick) Sony NSZGU1 NSZ-GU1
Logitech Revue(Box) logitech ka Revue
Netgear GTV100(Box) Netgear NeoTV GTV100
Hisense Pulse(Box) hisense hisense_gx1200v hisense_gx1200v
Vizio Costar (Box) VIZIO VAP430 VAP430
LG G2(TV) lge cosmo LG Google TV
Надеюсь это поможет! -Тонни от Sony