我正试图在本地截取一个 rooted 安卓手机。我想通过服务截取其他活动的屏幕截图。唯一的要求是屏幕截图应该是~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。
答案 0 :(得分:0)
这不受支持,可能适用于所有设备,也可能不适用。您可能还会得到一些不符合您期望的格式的内容。如果您使用的是4.0+设备,则可以看到它们如何实现系统屏幕截图功能并模拟它。 AOSP中还有一些小实用程序,屏幕截图和屏幕截图,您可能需要查看其代码(frameworks/base/cmds
。
答案 1 :(得分:0)
您可以使用adb命令截取屏幕截图 adb shell screencap -p /mnt/sdcard/screen.png 并从应用程序以编程方式执行它