我正在为 Android 2.3 实现屏幕截图功能(我知道 ICS 已经有屏幕截图功能)。我使用 Android Screenshot Library(简称 ASL)项目作为基础,我正在修改它以满足我的需要。我也可以为它自由修改Android的源代码。目标是拥有类似于 Galaxy Note 的功能:您使用按键组合截取屏幕截图,然后显示一个编辑器,允许您随意更改图像。您可以在任何地方截取屏幕截图:在主屏幕上、在使用应用程序时等。
现在我有 3 个工作部分:一个捕获屏幕缓冲区的本机二进制文件,一个与本机二进制文件对话并检索屏幕截图的服务,以及编辑器。但我不确定如何将这三件事结合在一起。可以将本机二进制文件添加到 Android 预构建部分,并且可以修改 init.rc 以在启动时以 root 身份执行它(尽管我仍然必须这样做)。编辑器是一个简单的应用程序,也可以包含在 Android 中。但我仍然不知道如何处理该服务。
理想情况下,我想捕获一个按键组合(比如电源按钮和降低音量,或者可能是前面的两个按钮),这将触发服务。然后,该服务将调用二进制文件以截取屏幕截图并启动意图以打开带有屏幕截图的编辑器。但是,据我所知,服务无法捕捉按键。此外,服务必须绑定某个地方才能知道何时必须截屏,所以我想我应该修改Android本身以启动服务并在启动时绑定到它,但是缺少有关Android源代码的文档我不知道从哪里开始寻找。
有谁知道Android的哪个组件负责按键,我应该在哪里绑定我的服务?我的方法甚至可能吗?
提前感谢您提供任何可能的帮助。