java - 安卓源。编辑关键事件
问题描述
当用户发送 KEYEVENT_SEARCH 时,我想重新分配事件。现在它只是在应用程序中启动搜索活动,如果您第二次按下它 - 它什么也不做。我必须重新定义事件,以便第一次单击打开搜索,并在下次关闭时关闭。我在哪里可以找到 android 推送响应?我尝试编辑它frameworks/base/core/java/com/android/internal/policy/PhoneFallbackEventHandler.java
,但它不起作用。
解决方案
Android 键按以下顺序处理:
- 电话窗口管理器:
- interceptKeyBeforeQueueing
- interceptKeyBeforeDispatching
- 活动:onKeyDown/onKeyUp。应用程序可以覆盖处理键的功能。
- PhoneFallbackEventHandler:onKeyDown/onKeyUp
目前在2中处理搜索键。在onKeyUp中处理搜索键时,首先检查搜索对话框是否启动,然后选择startSearch或closeSearch。
推荐阅读
- asp.net-core - 试图强制 ASP.NET 核心 MVC 使用 HTTPS
- mongodb - 将 ISO 格式日期时间转换为 mongoDB 3.6 中的日期
- tensorflow - tensorflow 与 anaconda 和 python 版本冲突
- user-interface - 光子碰撞问题
- d3.js - 使用 scala.js 创建条形图
- python-3.x - tkinter 网格识别不起作用,无法识别每个像素
- android - gradle build 未检测到 build.gradle 中的 android ndkVersion
- sql - 通过 pl/sql 过程将带有行间距和空值的逗号分隔值拆分为表中的列
- html - css not showing completely in gmail
- spring-boot - Jhipster Ldap 集成坏凭证错误