【发布时间】:2021-02-07 00:06:37
【问题描述】:
我正在寻找一种方法,如何从特定应用程序中的代码将输入事件(如触摸或键盘事件)注入到自己的应用程序中。 不 进入 Android 操作系统或需要签名级权限 android.permission.INJECT_EVENTS 或 root 设备的其他应用程序 b/c,我必须避免两者。我寻找在没有任何提升权限的非 root 设备上运行的代码。
我在基于以下概念的代码方面取得了一些进展:
View v = findViewById(android.R.id.content).getRootView();
v.dispatchTouchEvent(e);
【问题讨论】:
-
为什么需要这样做?如果是自己的应用,直接调用函数,而不是模拟触摸事件,不是更方便、更易于维护吗?除非你正在编写一个测试框架,在这种情况下,我会看看现有的是如何做到的。
-
@GabeSechan - 它是与任意应用程序链接的库的一部分,因此我没有这种可能性。测试框架是一个很好的近似,但它应该是生产级应用程序的一部分。
标签: android