如何从没有root的应用程序中捕获其他Android应用程序的屏幕截图?

时间:2012-06-30 04:36:47

标签: android

我想捕获手机上运行的Android应用程序的屏幕截图。

我尝试使用ScreenShot UX应用程序。这也可以在无根电话上完成。 知道如何从后台运行的服务获取Android应用程序的屏幕截图吗?

我希望我的服务定期捕获屏幕并发送到服务器。

3 个答案:

答案 0 :(得分:12)

获取不属于您自己的应用的屏幕截图的唯一方法是获取原始帧缓冲区。帧缓冲通常位于/dev/fb0/dev/graphics/fb0。在某些设备上(如LG Optimus One),可以在没有root权限的情况下访问它,但是对于它们的大多数(如Nexus S),您需要为此工作。出于安全原因,通常不允许这样做,因为恶意应用程序可以在后台截取屏幕截图并将其发送到远程服务器,显示电子邮件ID和密码等信息,并在某些情况下显示银行帐户详细信息。

答案 1 :(得分:8)

查看Android-screenshot-library,可以编程方式从Android设备捕获屏幕截图,而无需拥有root访问权限。

答案 2 :(得分:8)

从Android 5.0及更高版本开始,您可以使用名为media projections的SDK中的新功能来执行没有root权限的屏幕截图。 Google提供的示例代码为here