其他分享
首页 > 其他分享> > android – takeScreenshot总是为uiautomator返回false

android – takeScreenshot总是为uiautomator返回false

作者:互联网

我试图在Galaxy S4和Kindle HDX 8.9上自动“截取屏幕”,我正在使用以下代码.

if(!(getUiDevice().takeScreenshot(new File("ANYPATH"))))
         System.out.println("False: Screenshot not taken!!");
     else
         System.out.println("Gangnam Style...");

我试过的ANYPATH值:

> / data / local / tmp /(对于两个设备).不知道我在哪里可以找到设备上的这个文件夹,我试过这个,因为我把我的罐子推到了这个位置.
> / sdcard / pictures /(适用于Kindle HDX)
> / storage / emulated / 0(适用于Galaxy S4)

无论我尝试的路径如何,条件总是返回false,并且屏幕截图不会在任何设备(实际设备而非模拟器)上进行.我不确定我在这里错过了什么?

我只是遵循http://developer.android.com/tools/help/uiautomator/UiDevice.html#takeScreenshot(java.io.File)的语法

问候,
Rumit

解决方法:

takeScreenshot()方法适用于4.2及以上的android版本设备.

如果设备版本合适,请使用以下代码.

File path = new File("/sdcard/filename.png");
int SDK_VERSION = android.os.Build.VERSION.SDK_INT; 
if (SDK_VERSION >= 17) {
    mUiAutomatorTestCase.getUiDevice().takeScreenshot(PATH);
}

我们可以通过以下命令查看该文件.

$adb shell ls -l / sdcard / name-of-file

标签:uidevice,uiautomator,android,automation
来源: https://codeday.me/bug/20190831/1774511.html