2013-04-22 4 views
0

여러분,Android에서 디스플레이 장치 특성을 얻는 방법은 무엇입니까?

우리의 응용 프로그램은 특정 일련 번호가있는 디스플레이 모니터의 특정 모델에서만 실행됩니다. Linux 버전의 앱에서는 EDID를 통해이 정보를 얻습니다.

이제 코드를 Android (Google TV)로 포팅하는 방법을 모색 중입니다.

Android NDK에는 모델 및 일련 번호와 같은 디스플레이 장치 특성을 얻을 수있는 API가 있습니까?

도움을 주셔서 감사합니다. 구글 TV 장치는 전화 통신 하드웨어를 가지고 있지 않기 때문에

감사합니다,
피터

답변

0

, 당신은 장치 ID를 얻기 위해 TelephonyManager를 사용할 수 없습니다.

다음과 같은 코드를 사용하여 다른 장치 정보를 얻을 수 있습니다 :

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 자체가 아닌 연결된 디스플레이 장치 (TV, 프로젝터 등)의 정보를 Co-Star로 가져 오는 것입니다. 당신의 대답이 내가 찾고있는 것에 가장 가깝기 때문에 지금 당장 그것을 해결책으로 표시 할 것입니다. 안부, 피터. – Peter

0

당신은 모든 기능을 덤프 수 있습니다 : 다음을 얻을 것이다 비지오 공동 별 구글 TV 장치에 대한

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); 

을 다음을 사용 :

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"); 

공급 업체 등을위한 안드로이드 빌드 속성은 특정 장치에 범위를 지정하십시오. 일련 번호와 관련하여 (예 : cpu serial -은 사용할 수 없음) mac 주소를 사용하는 것이 좋습니다.

+0

도움 주셔서 감사합니다. 그러면 TV 나 프로젝터와 같은 부착 된 디스플레이 장치에 대한 정보를 얻을 수 있습니까? 감사합니다, Peter – Peter

+0

그런 종류의 정보는 HDMI CEC에서만 사용할 수 있습니다.이 CEC는 현재 TV 시장에서 완전히 지원되지 않습니다. 현재 HDMI를 통해 연결된 장치의 종류를 찾을 수 없습니다. – Krispy

관련 문제