如何以编程方式截取整个应用程序的屏幕截图?

时间:2014-04-02 16:58:55

标签: android

我正在开发Android应用的UI自动化测试。我需要在测试的各个步骤中保存应用程序的屏幕截图,以供测试工程师稍后进行分析。

在Android中执行此操作的常用方法是获取Window,然后获取DecorView,然后使用由Bitmap支持的Canvas调用onDraw并保存Bitmap。但是,当一个Dialog显示在Activity之上时,这不起作用。 Dialog和Activity都有各自独立的DecorView。

有没有办法以编程方式对整个应用程序的屏幕截图进行合成?不幸的是,该设备没有root,并且该应用程序没有签名权限,因此另一个线程中的此答案不适用: https://stackoverflow.com/a/13837910/244521

1 个答案:

答案 0 :(得分:1)

对于手机设备:This article分享一些可能有用的提示。但是,在ICS及以上版本中,您可能需要使用Home + Power,而不是Volume Down + Power,如文章所述。

对于自动化测试,也许AutomatedScreenshots会有所帮助