2013-04-22 4 views
0

Люди,Как получить характеристики дисплея в Android?

Наше приложение предназначено для работы только для конкретной модели монитора с определенным серийным номером. В Linux-версии нашего приложения мы получаем эту информацию через EDID.

Теперь мы изучаем перенос кода на Android (Google TV).

Есть ли какой-либо API на Android NDK, который позволит нам получить характеристики устройства отображения, такие как его модель и серийный номер?

Заранее благодарю вас за помощь.

С уважением,
Питер

ответ

0

Поскольку устройства Google TV не имеют аппаратных средств телефонии, вы не можете использовать TelephonyManager, чтобы получить идентификатор устройства.

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

Log.i(LOG_TAG, "android.os.Build.VERSION.RELEASE="+android.os.Build.VERSION.RELEASE); 
Log.i(LOG_TAG, "android.os.Build.VERSION.INCREMENTAL="+android.os.Build.VERSION.INCREMENTAL); 
Log.i(LOG_TAG, "android.os.Build.DEVICE="+android.os.Build.DEVICE); 
Log.i(LOG_TAG, "android.os.Build.MODEL="+android.os.Build.MODEL); 
Log.i(LOG_TAG, "android.os.Build.PRODUCT="+android.os.Build.PRODUCT); 
Log.i(LOG_TAG, "android.os.Build.MANUFACTURER="+android.os.Build.MANUFACTURER); 
Log.i(LOG_TAG, "android.os.Build.BRAND="+android.os.Build.BRAND); 

Для телевизионного устройства Vizio Co-Star Google, вы получите следующее:

android.os.Build.VERSION.RELEASE=3.2 
android.os.Build.VERSION.INCREMENTAL=U4.6.0-ota2 
android.os.Build.DEVICE=VAP430 
android.os.Build.MODEL=VAP430 
android.os.Build.PRODUCT=StreamPlayer 
android.os.Build.MANUFACTURER=VIZIO 
android.os.Build.BRAND=Vizio 
+0

Цените свою помощь. Мне нужно получить информацию о подключенном устройстве отображения (телевизор, проектор и т. Д.) К Co-Star, а не к созвездию. Поскольку ваш ответ ближе всего к тому, что я ищу, я продолжу и покажу его как решение. С уважением, Питер. – Peter

0

Вы можете сбросить все функции используя следующее:

TextView text = (TextView) findViewById(id.featurestextview); 

    FeatureInfo features[] = getPackageManager() 
      .getSystemAvailableFeatures(); 
    Log.d("Features", "getSystemAvailableFeatures() = " + features); 

    text.append("Supported System Features on this device:\n\n"); 

    if (features != null) { 
     for (FeatureInfo featureInfo : features) { 
      if (featureInfo.name!= null) { 
       text.append(featureInfo.name+" (Flags: "+featureInfo.flags+") \n"); 
      } else { 
       text.append(featureInfo+"\n"); 
      } 
     } 
    } 

    long maxMemory = Runtime.getRuntime().maxMemory(); 
    int memoryClass = ((ActivityManager) getSystemService(ACTIVITY_SERVICE)).getMemoryClass(); 
    MemoryInfo memInfo = new MemoryInfo(); 
    ((ActivityManager) getSystemService(ACTIVITY_SERVICE)).getMemoryInfo(memInfo); 


    text.append("\n\nMEMORY:\nMaxMemory "+maxMemory/1024+"KB/"+maxMemory/1024/1024+"MB"); 
    text.append(" (Memory Class: "+memoryClass+")"); 
    text.append("\n MemoryInfo: Avail="+ memInfo.availMem/1024 +"KB Threshold="+memInfo.threshold /1024 +"KB"); 

Свойства android build для поставщика и т. д. будут allo w вас к области для конкретного устройства. Что касается серийного номера (например, серийный номер процессора - недоступен), мы рекомендуем использовать адрес mac.

+0

Благодарим за помощь. Это даст мне информацию о подключенном устройстве отображения, таком как телевизор или проектор? С уважением, Peter – Peter

+0

Такая информация доступна только через HDMI CEC, которая сейчас полностью не поддерживается на рынке телевизоров. Вы не сможете узнать, какое устройство вы подключили через HDMI в настоящее время. – Krispy

 Смежные вопросы

  • Нет связанных вопросов^_^