【问题标题】:What process/library on Android is responsible for dispatching touch events to applications?Android 上的哪个进程/库负责将触摸事件分派给应用程序?
【发布时间】:2012-07-23 23:10:58
【问题描述】:

Android 上的哪个进程/库负责将触摸事件分派给应用程序? 我太专注于 hooking,以至于我完全忘记了 Android 源是可用的。

更新/澄清:我想让我的代码拦截系统中所有应用程序的所有触摸事件,对它们进行自定义处理并转发给原始接收器。

更新 2:假设一个有根设备和应用程序仅供私人/内部使用,而不是用于大规模分发

原始的、表述不当的问题:Android equivalent of iOS MobileSubstrate-style hooking?

【问题讨论】:

  • 您是否有需要实际代码的原因?或者您只是想在所有传入的触摸事件到达您的应用程序的任何地方之前获取它们?如果是这样,则有一个 Activity#dispatchTouchEvent (developer.android.com/reference/android/app/…),您可以在其中拦截所有触摸,然后再进入 Activity 的视图...
  • @SalilPandit 谢谢,查看更新的问题描述
  • 投反对票的人,大声说出来!
  • 不是我...我认为您的问题现在已经很清楚了,但实际上没有方向可以发送给您-抱歉...
  • @SalilPandit 无论如何感谢您的输入!我意识到不是你,我只是想让那个“无名懦夫”站出来:)

标签: android events touch shared-libraries static-libraries


【解决方案1】:

我想让我的代码拦截系统中所有应用程序的所有触摸事件,对它们进行自定义处理并转发给原始接收者。

这在现有的 android 上是不可能的(即使您的设备已植根)。如果您希望这样做,您必须构建您自己的操作系统版本来支持它。

【讨论】:

  • 感谢您的回复。我怀疑这一点,因此在我的问题中我问“我需要修改什么”?或者至少是一些信息来缩小搜索范围 - 是本机代码、Java 代码、库还是进程?
  • 我不确定。 Instrumentation 对象能够将输入事件发送到活动。这可能是一个很好的起点。 This article 似乎也很重要。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-17
  • 1970-01-01
相关资源
最近更新 更多