对于我正在进行的研究,我需要一些方法来跟踪用户在日常使用手机时的触摸。用户将完全了解他们正在录制的内容。任何方法都会很棒。
到目前为止我尝试了什么?
方法 1. 创建一个覆盖透明视图的服务。
问题由于明显的安全漏洞,这从 ICS 开始就被阻止了。透明视图上的输入触摸不会转移到背景,因此用户无法正常与手机交互。我尝试了各种方法,覆盖视图定义为类型电话或类型系统警报或在程序执行期间在它们之间切换。
方法 2. 以 1% 的屏幕尺寸查看,触摸外部模型
问题同上一个问题。Touch outside 仅返回如果触摸事件发生在外部,甚至没有初始 x,y 坐标。
我尝试了其他方法,但突出显示了这些方法。目前,我正在考虑其他选择:
选项 1 - 开发人员选项中的指针位置选项:在设置中有我可以使用的指针位置选项。当该选项打开时,有关触摸的所有信息都显示在顶部面板中。如果我之后可以访问这些数据,那也很好,尽管当用户使用手机时屏幕上会出现绘图。我已经跟踪了 ICS 的源代码,并找到了使跟踪成为可能的核心类。我将该类重新创建为服务。当我从应用程序运行它时,logcat 会显示有关触摸的所有信息。唯一的问题与问题 1 相同。我无法在当前应用程序之外跟踪它。那么,如果即使打开了指针选项,它也会记录跟踪信息,那么以后如何获取信息以供使用?
这个选项似乎是最简单的。
选项 2 - Android NDK如果无法使用上述方法,是否可以使用 NDK 来实现?这条路线的正确方向也很棒。
选项 3 - 自定义 ROM 在执行此操作时我真的需要使用自定义 ROM 吗?我很确定这是 100% 确定的方法。但在这项特定的研究中似乎非常不切实际。
对于我可以遵循的路径的任何建议,我将不胜感激。谢谢大家。