【问题标题】:Android source. Edit Key events安卓源。编辑关键事件
【发布时间】:2021-10-16 16:19:29
【问题描述】:

当用户发送 KEYEVENT_SEARCH 时,我想重新分配事件。现在它只是在应用程序中启动搜索活动,如果您第二次按下它 - 它什么也不做。我必须重新定义事件,以便第一次单击打开搜索,并在下次关闭时关闭。我在哪里可以找到 android 推送响应?我尝试在frameworks/base/core/java/com/android/internal/policy/PhoneFallbackEventHandler.java 中编辑它,但它不起作用。

【问题讨论】:

    标签: java android system android-source


    【解决方案1】:

    Android 键按以下顺序处理:

    1. PhoneWindowManager:
    • interceptKeyBeforeQueueing
    • interceptKeyBeforeDispatching
    1. 活动:onKeyDown/onKeyUp。应用可以覆盖处理按键的函数。
    2. PhoneFallbackEventHandler:onKeyDown/onKeyUp

    目前在2中处理搜索键。在onKeyUp中处理搜索键时,首先检查搜索对话框是否为launched,然后选择startSearch或closeSearch。

    【讨论】:

    • 方式 2 不适合。我无法更改每个应用程序的代码。我需要在我的 android 程序集中同时为所有应用程序做出默认反应
    • 您可以更改 frameworks/base/core/java/android/app/Activity.java。然后它将对所有应用程序生效。并且一些应用会打算覆盖 Activity.onKeyDown 以自行处理搜索键。
    猜你喜欢
    • 2023-03-26
    • 2018-07-16
    • 2011-10-29
    • 2011-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多