我正在尝试在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/图片/(用于Kindle HDX)
/存储/模拟/0(用于Galaxy S4)
不管我尝试的路径是什么,条件总是返回false,并且屏幕截图不会在任何设备(实际设备而不是模拟器)上拍摄。我不知道我在这里遗漏了什么?
我只是遵循http://developer.android.com/tools/help/uiautomator/UiDevice.html#takeScreenshot(java.io.File)中的语法
当做,
谣言

最佳答案

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/文件名

09-16 13:53