如何知道 android 的设备类型

How to know device type of an android

如何知道平板电脑phone和电视盒android之间的设备类型? 我已经尝试过 javascript 的屏幕尺寸,但有些平板电脑的屏幕尺寸与电视相同。

检查是平板电脑设备。

private static boolean isTabletDevice(Context activityContext) {
boolean device_large = ((activityContext.getResources().getConfiguration().screenLayout &
        Configuration.SCREENLAYOUT_SIZE_MASK) ==
        Configuration.SCREENLAYOUT_SIZE_LARGE);

if (device_large) {
    DisplayMetrics metrics = new DisplayMetrics();
    Activity activity = (Activity) activityContext;
    activity.getWindowManager().getDefaultDisplay().getMetrics(metrics);

    if (metrics.densityDpi == DisplayMetrics.DENSITY_DEFAULT
            || metrics.densityDpi == DisplayMetrics.DENSITY_HIGH
            || metrics.densityDpi == DisplayMetrics.DENSITY_MEDIUM
            || metrics.densityDpi == DisplayMetrics.DENSITY_TV
            || metrics.densityDpi == DisplayMetrics.DENSITY_XHIGH) {
        AppInstance.getLogger().logD("DeviceHelper","IsTabletDevice-True");
        return true;
    }
}
AppInstance.getLogger().logD("DeviceHelper","IsTabletDevice-False");
return false;

}

检查是Android电视

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

}