1

我正在尝试在本地截取一个有的android 手机。我想通过服务截取其他活动的屏幕截图。唯一的要求是屏幕截图应该最多〜100ms。

我试试

java.lang.Process process = Runtime.getRuntime().exec("su");
DataOutputStream os = new DataOutputStream(process.getOutputStream());
os.writeBytes("cat /dev/graphics/fb0 > " + raw + "\n");
os.writeBytes("exit\n");
os.flush();
os.close();
process.waitFor();

但是当我尝试将其写入文件时,它需要的时间太长了!

另外,因为我试图在手机上本地执行此操作,而不是将其连接到 PC。

4

2 回答 2

0

这不受支持,可能适用于所有设备,也可能不适用于所有设备。您可能还会得到一些不是您期望的格式的东西。如果您使用的是 4.0+ 设备,您可以看到他们如何实现系统截图功能并进行模拟。AOSP 中还有一些小实用程序、screencap 和 screenshot,您可能想查看它们的代码(在frameworks/base/cmds.

于 2012-12-17T07:14:50.217 回答
0

您可以使用 adb 命令截取屏幕截图 adb shell screencap -p /mnt/sdcard/screen.png 并从应用程序以编程方式执行它

于 2018-02-14T14:23:01.363 回答