Как обнаружить (код 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

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