gpt4 book ai didi

java - 如何拦截用户与 UI 交互产生的 motionEvents 和 keyEvents

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:39:47 25 4
gpt4 key购买 nike

我一直在尝试拦截用户与 UI 交互时生成的 motionEvents 和 keyEvents。到目前为止,我已经探索了这些选项:

  1. dex 注入(inject)(太复杂)
  2. 在使用 dispatchTouchEvent 记录事件然后将其传递给 super 拦截 motionEvents 的同时扩展了我的 Activity 类。 dispatchTouchEvent(这将需要将所有 Activity 类扩展到我修改的类,并可能限制我已经使用 dispatchTouchEvent 的应用程序)
  3. 使用检测向应用程序添加监听器(尝试失败,不知道是否可行)

基本上,我想做的是实现一个事件记录器,因此通过捕捉 Action 和关键事件,我可以创建记录的回放。我的限制之一是能够将此记录附加到任何 android 应用程序,因此我需要最小化应用程序本身内的记录器代码移动,例如我想添加一些 jar,然后在应用程序中初始化它们,如下所示:

            public class Calculator extends Activity {

public void onCreate(Bundle savedInstanceState) {

initialize recorder here
//application code
}
//calculator application code here
}

注意:将 Activity 类扩展到一个特殊类,该类具有使用 dispatchTouchEvent 捕获事件的代码,然后从该特殊类扩展所有其他 Activity 类不是一个好主意,因为如果原始 Activity 有一些 dispatchTouchEvent 代码,那么该函数不会在扩展特殊类工作。

也欢迎在不改变操作系统代码的情况下从操作系统角度提出解决方案(包括c、c++)

最佳答案

你提到使用事件监听器,你读过这个页面吗?

http://developer.android.com/guide/topics/ui/ui-events.html

关于java - 如何拦截用户与 UI 交互产生的 motionEvents 和 keyEvents,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8402911/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com