2015-04-24 22 views
6

So che si possono ottenere dimensioni dello schermo, ma mi piacerebbe sapere se qualcuno è mai stato in grado di scoprire se il dispositivo Android ha uno schermo o meno. cioè se si tratta di un set top box o meno.Come determinare se un dispositivo Android ha uno schermo, vale a dire se si tratta di un set top box Android?

Suppongo che le dimensioni dello schermo restituite dovrebbero essere "zero", ma non sono sicuro che quella sia effettivamente la risposta nel mondo reale.

Grazie.

risposta

5

È possibile check for a TV device.

public static final String TAG = "DeviceTypeRuntimeCheck"; 

UiModeManager uiModeManager = (UiModeManager) getSystemService(UI_MODE_SERVICE); 
if (uiModeManager.getCurrentModeType() == Configuration.UI_MODE_TYPE_TELEVISION) { 
    Log.d(TAG, "Running on a TV Device"); 
} else { 
    Log.d(TAG, "Running on a non-TV Device"); 
} 
0

Nel fissare del codice incolla questo codice:

int screenSize = getResources().getConfiguration().screenLayout & 
     Configuration.SCREENLAYOUT_SIZE_MASK; 

String toastMsg; 
switch(screenSize) { 
    case Configuration.SCREENLAYOUT_SIZE_LARGE: 
     toastMsg = "Large screen"; 
     break; 
    case Configuration.SCREENLAYOUT_SIZE_NORMAL: 
     toastMsg = "Normal screen"; 
     break; 
    case Configuration.SCREENLAYOUT_SIZE_SMALL: 
     toastMsg = "Small screen"; 
     break; 
    default: 
     toastMsg = "Screen size is neither large, normal or small"; 
} 
Toast.makeText(this, toastMsg, Toast.LENGTH_LONG).show(); 

è possibile determinare le dimensioni dello schermo da toastMsg.

+0

E quello che stai dicendo è che i set top box di Android dovrebbero tornare, "Le dimensioni dello schermo non sono grandi, normali o piccole"? –

+0

Non ne ho uno ...: D provalo ... – kiturk3