0

我需要开发一个没有 UI 的 Android 应用程序(使用后台服务),它将无限期地运行。该服务将每秒捕获屏幕截图,即用户在屏幕上执行的任何操作都将被捕获为屏幕截图并存储在手机的内部存储器或 SD 卡中。屏幕截图将被替换,并且仅存储最后更新的屏幕截图,因此存储限制没有问题。我阅读了有关 AndroidServiceIntentServices 的信息,但我无法找出适合我的情况的最佳选择。我该如何进行?或者有没有其他方法可以在不使用Service/的情况下做到这一点IntentService

4

1 回答 1

1

对于我的应用程序,我使用了以下内容:

public static void takeScreenshot() {
    ShellInterface.runCommand("input keyevent " + KeyEvent.KEYCODE_SYSRQ + " &");
}

很明显ShellInterface.runCommand(),这是我运行 root 命令的实用方法。KEYCODE_SYSRQ用作打印屏幕按钮,并且在我的测试中适用于跨 Android 版本的大多数设备。连三星都没破!

请注意,这会调用核心系统截图功能。因此,虽然它适用于所有应用程序并且会真正捕获屏幕上的所有内容,但它无法让您选择保存位置,因此您可能必须查看文件系统才能了解何时添加文件并采取相应行动。

于 2015-09-09T07:46:31.913 回答