我們的應用程序僅適用於具有特定序列號的特定型號的顯示器。在我們的應用程序的Linux版本中,我們通過EDID獲取這些信息。
我們正在考慮將代碼移植到Android(Google TV)。
在Android NDK上是否有任何API可以讓我們獲得顯示設備的特性,如型號和序列號?
非常感謝您的幫助。
問候,
彼得
我們的應用程序僅適用於具有特定序列號的特定型號的顯示器。在我們的應用程序的Linux版本中,我們通過EDID獲取這些信息。
我們正在考慮將代碼移植到Android(Google TV)。
在Android NDK上是否有任何API可以讓我們獲得顯示設備的特性,如型號和序列號?
非常感謝您的幫助。
問候,
彼得
由於谷歌電視設備沒有電話硬件,您不能使用TelephonyManager來獲取設備ID。
您可以用下面的代碼獲取其他設備信息:
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公司合作的明星谷歌電視設備,你會得到如下:
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
你可以轉儲所有功能使用以下內容:
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生成屬性將allo您可以將範圍擴展到特定的設備。關於序列號(例如cpu serial - 不可用),我們建議您使用mac地址。
感謝您的幫助。我的需求是將所附顯示設備(電視機,投影機等)的信息獲取到Co-Star,而不是Co-Star本身。由於您的答案與我正在尋找的最接近,我會繼續並將其標記爲現在的解決方案。問候,彼得。 – Peter 2013-04-23 05:30:57