当前位置: 首页 > 知识库问答 >
问题:

AndroidAOSP拦截KeyEvent.KEYCODE_HOME

步博涉
2023-03-14

我在AOSP中搜索KeyEvent所在的代码行。生成KEYCODE_ HOME。我很确定它一定在SystemUI包中的PhoneStatusBar类附近。我在PhoneStatusBar中找到了mHomeActionListener,它由导航栏视图中的OnTouchListener触发。但不存在KeyEvent。KEYCODE_HOME生成。我还没有找到那段代码。任何提示都将不胜感激。

致敬

共有1个答案

轩辕鸿
2023-03-14

谢谢你们的提示。

我终于弄清楚了KEYCODE_HOME是如何生产和消费的。我的要求是在可配置的标志上禁用HOME按钮。该平台是一个自己的嵌入式设备,具有经过调整的AOSP。

主页按钮在软件包SystemUI中定义,在<code>导航栏视图中点击监听器键事件。KEYCODE_HOME是在InputDispatcher中生成的。cpp(inputflinger包)并传递到PhoneWindowManager。WindowManagerPolicy通过interceptKeyBeforeQueueing()PhoneWindowManager使用键事件并启动主应用程序

 类似资料:
  • 拦截文件 bp CreateFileA 创建或打开文件 (32位) bp OpenFile 打开文件 (32位) bp ReadFile 读文件 (32位) bp WriteFile 写文件 (32位) bp GetPrivateProfileStringA (ini文件)

  • 拦截时间 bp GetLocalTime 获取本地时间 bp GetSystemTime 获取系统时间 bp GetFileTime 获取文件时间 bp GetTickCount 获得自系统成功启动以来所经历的毫秒数 bp GetCurrentTime 获取当前时间(16位) bp SetTimer 创建定时器 bp TimerProc 定时器超时回调函数

  • 拦截窗口 bp CreateWindow 创建窗口 bp CreateWindowEx(A) 创建窗口 bp ShowWindow 显示窗口 bp UpdateWindow 更新窗口 bp GetWindowText(A) 获取窗口文本

  • 拦截注册表 bp RegOpenKey(A) 打开子健 bp RegOpenKeyEx 打开子健 bp RegQueryValue(A) 查找子健 bp RegQueryValueEx 查找子健 bp RegSetValue(A) 设置子健 bp RegSetValueEx(A) 设置子健

  • 拦截消息框 bp MessageBox(A) 创建消息框 bp MessageBoxExA 创建消息框 bp MessageBoxIndirect(A) 创建定制消息框

  • 拦截驱动器 bp GetDriveTypeA 获取磁盘驱动器类型 bp GetLogicalDrives 获取逻辑驱动器符号 bp GetLogicalDriveStringsA 获取当前所有逻辑驱动器的根驱动器路径