UiAutomator检测平板电脑与手机

贾斯汀·帕佩兹(Justin Papez)

有没有一种使用Android的uiautomator来检测正在测试的设备是手机还是平板电脑的方法?

提前致谢。

贾斯汀·帕佩兹(Justin Papez)

我已经知道了。您可以使用函数getUiDevice()。getDisplayWidth()和getUiDevice()。getDisplayHeight()获得设备的宽度和高度。您可以使用ADB获取像素密度:getprop ro.sf.lcd_density。然后使用公式px = dp *(dpi / 160),您可以生成公式dp = px /(dpi / 160)。最后,根据Android的屏幕尺寸指定如下:小-426dp x 320dp,普通-470dp x 320dp,大-640dp x 480dp和xlarge-960dp x 720dp,其中大尺寸和超大尺寸的尺寸为平板电脑:)。享受!

public boolean isTablet() throws Exception {
    double widthpx = getUiDevice().getDisplayWidth();
    double heightpx = getUiDevice().getDisplayHeight();

    Runtime runtime =  Runtime.getRuntime();
    Process process =  runtime.exec("getprop ro.sf.lcd_density");

    InputStream inputStream = process.getInputStream();
    InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
    BufferedReader bufferedReader = new BufferedReader(inputStreamReader);

    double dpi = Double.parseDouble(bufferedReader.readLine());

    double widthdp = widthpx / (dpi / 160);
    double heightdp = heightpx / (dpi / 160);

    return (widthdp >= 640 && heightdp >= 480);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

支持手机和平板电脑,而不是平板电脑

视口检测如何将平板电脑与手机区分开?

在安装我的应用程序时检测设备是手机还是平板电脑

iFrame无法在手机或平板电脑上加载

手机和平板电脑的用户界面

横向的 Android 手机正在采用平板电脑布局

建议为平板电脑和手机开发?

手机和平板电脑模块与Android库

片段中的操作栏-平板电脑和手机

来自PC上平板电脑/手机的输入

Xamarin.Forms平板电脑和手机

手机和平板电脑专用网站

带Android手机/平板电脑的Zed相机

如何从平板电脑/手机模板访问背后的代码?

Codenameone 中手机和平板电脑的样式布局

Xamarin.Forms 的手机和平板电脑视图

Bootstrap 4alpha-更改手机/台式机/平板电脑的徽标

如何使用媒体查询来区分手机vs平板电脑肖像vs平板电脑风景

媒体查询适用于手机,但不适用于平板电脑

仅在手机或平板电脑视图下如何显示菜单?

如何使用Hammer.js在手机和平板电脑上运行触摸滑动

Android Google Maps显示在手机中,但未显示在平板电脑中

Android的工作室:布局手机和平板电脑

如何自动调整所有手机/平板电脑显示格式的div大小?

手机和平板电脑上的图片调整大小是否不同?

角版4中的Flex布局问题平板电脑/手机

手机/平板电脑可以避免通过USB电源充电吗?

手机,平板电脑和PC的Bootstrap字体大小

为Android手机和平板电脑创建不同的布局