Как определить, есть ли на устройстве Android экран, т.е. является ли это приставкой Android?

Я знаю, что можно получить размеры экрана, но я хотел бы знать, смог ли кто-нибудь когда-нибудь узнать, есть ли у устройства Android экран или нет. т.е. будь то приставка или нет.

Я предполагаю, что возвращаемый размер экрана должен быть равен "нулю", но я не уверен, является ли это ответом в реальном мире.

Спасибо.

2 ответа

Решение

Вы можете проверить наличие телевизионного устройства.

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

В начале вашего кода вставьте этот код:

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

Вы можете определить размер экрана по toastMsg,

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