我想创建一个应用程序,它可以将屏幕行为记录为将在设备上以编程方式保存的视频。任何人都能帮助我吗?
答案 0 :(得分:2)
幸运的是,出于明显的隐私和安全原因,除了可能在root设备上之外,这是不可能的。应用无法记录其他应用在屏幕上显示的内容。
答案 1 :(得分:0)
对于有根设备,您可以使用FFMPEG或JavaCV截取屏幕截图并根据这些屏幕截图制作视频。
实际上已经多次讨论过这个话题。
以下是如何获取超级用户权限并获取屏幕截图的示例。
if (Environment.MEDIA_MOUNTED.equals(Environment
.getExternalStorageState())) {
// we check if external storage is\ available, otherwise
// display an error message to the user using Toast Message
File sdCard = Environment.getExternalStorageDirectory();
File directory = new File(sdCard.getAbsolutePath() + "/ScreenShots");
directory.mkdirs();
String filename = "screenshot_jpeg_" + i + ".png";
File yourFile = new File(directory, filename);
try {
Process sh = Runtime.getRuntime().exec("su", null, null);
OutputStream os = sh.getOutputStream();
os.write(("/system/bin/screencap -p " + "/sdcard/ScreenShots/" + filename).getBytes("ASCII"));
os.flush();
os.close();
sh.waitFor();
i++;
} catch (Exception e) {
e.printStackTrace();
}
}