Android应用程序中的默认密钥事件处理程序

Android应用程序中的默认密钥事件处理程序,android,Android,在安卓系统中,有没有一种方式可以让安卓应用程序在激活时捕获并处理所有关键事件(可能还有触摸事件),然后再将它们发送到实际视图中,而实际视图应该处理这些事件 我知道我们可以在活动中使用onKeyDown或类似的方法来处理keyevent,但是只有当它的子视图都没有在内部处理它时,才会触发它。 这些视图通常是ListView、GridView、ScrollView等 我想找到一种方法,在将keyEvent传递到这些视图之前调用我的keyHandler方法 在我的keyHandler中实现将非常简单。

在安卓系统中,有没有一种方式可以让安卓应用程序在激活时捕获并处理所有关键事件(可能还有触摸事件),然后再将它们发送到实际视图中,而实际视图应该处理这些事件

我知道我们可以在活动中使用onKeyDown或类似的方法来处理keyevent,但是只有当它的子视图都没有在内部处理它时,才会触发它。 这些视图通常是ListView、GridView、ScrollView等

我想找到一种方法,在将keyEvent传递到这些视图之前调用我的keyHandler方法

在我的keyHandler中实现将非常简单。它只会在每个事件上播放一个音调,就像按键音一样,然后转发给那些视图或Android框架处理


想知道这是否可能,因为我不想在每个活动中为每个视图编写onKeyListener,因为我有很多活动和视图,所以在任何地方都很难编写相同的代码。如果有办法的话,我可以在BaseActivity中实现它,并由此派生我的所有活动,然后继续使用默认键处理程序

我自己不尝试,但我认为这一个会对您有所帮助:(只需向下滚动一点,找到文本中提到的方法)


看起来这是一个在事件到达窗口之前捕捉事件的机会。详细阅读。

正是我所需要的。谢谢:)我确实需要它来做KeyEvent,也有一种方法可以做到这一点。派生它,我在小部件获取它之前获取事件。