如何在uiautomator下获得android手机屏幕大小

如何在uiautomator下获得android手机屏幕大小,android,android-uiautomator,Android,Android Uiautomator,我想在android uiautomator测试中添加一个功能,即识别哪个是平板电脑,哪个是手机 你们知道,我们使用布局来获得屏幕大小,比如小的、普通的、大的、xlarge的、xxlarge的 以下是我的尝试: final Configuration config = Resources.getSystem().getConfiguration(); final int screenSizeCode = config.screenLayout & Configuration.SCREE

我想在android uiautomator测试中添加一个功能,即识别哪个是平板电脑,哪个是手机

你们知道,我们使用布局来获得屏幕大小,比如小的、普通的、大的、xlarge的、xxlarge的

以下是我的尝试:

final Configuration config = Resources.getSystem().getConfiguration();

final int screenSizeCode = config.screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK;

String screenSize;

    switch (screenSizeCode) {

        case Configuration.SCREENLAYOUT_SIZE_UNDEFINED:

            screenSize = "screen_size_undefined";
            break;
        case Configuration.SCREENLAYOUT_SIZE_SMALL:
            screenSize = "screen_size_small";
            break;
        case Configuration.SCREENLAYOUT_SIZE_NORMAL:
            screenSize = "screen_size_normal";
            break;
        case Configuration.SCREENLAYOUT_SIZE_LARGE:
            screenSize = "screen_size_large";
            break;
        case Configuration.SCREENLAYOUT_SIZE_XLARGE:
            screenSize = "xlarge";
            break;
        default:
            screenSize = "screen_size_unknown";
            break;
    }
结果是:

screenSize = "screen_size_undefined"
实际上,我的手机屏幕大小是正常的


我想知道如何从uiautomator获取屏幕大小?

如果
dp(设备独立像素)
中的显示大小可以帮助您确定设备类型,那么您可以使用

UiDevice device = UiDevice.getInstance();
Point p = device.getDisplaySizeDp();

要求:API级别18

为什么是设备。按Enter()我想获得屏幕大小为普通、大、xlarge的手机类型