Есть ли способ использовать uiautomator от Android, чтобы определить, является ли тестируемое устройство телефоном или планшетом?UiAutomator Detect Tablet vs Phone
Заранее спасибо.
Есть ли способ использовать uiautomator от Android, чтобы определить, является ли тестируемое устройство телефоном или планшетом?UiAutomator Detect Tablet vs Phone
Заранее спасибо.
Я понял. Вы можете получить ширину и высоту устройства, используя функции 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);
}