Android 11 Recent按键流程
Recent 按键有三种,实体按键、虚拟导航键、手势导航。除了手势导航外(主要是launcher中监听滑动事件判断处理:Android 手势导航),实体按键和虚拟导航键流程基本一致,只有前面监听的方式不同:
一、实体按键监听
按键上报到 PhoneWindowManager.java 中,按照 KeyEvent.KEYCODE_APP_SWITCH 按键事件处理执行 statusbar.toggleRecentApps() ,实现在 StatusBarManagerService.toggleRecentApps() 方法中。
@Overridepublic void toggleRecentApps() {if (mBar != null) {try {mBar.toggleRecentApps();} catch (RemoteException ex) {}}}
这里 mBar.toggleRecentApps() 通过 Binder 机制跨进程调用 SystemUI 中的 CommandQueue toggleRecentApps()
二、虚拟导航键监听
NavigationBarFragment 中对 RecentsButton 注册监听回调 onRecentsClick
private void onRecentsClick(View v) {if (LatencyTracker.isEnabled(getContext())) {LatencyTracker.getInstance(getContext()).onActionStart(LatencyTracker.ACTION_TOGGLE_RECENTS);}mStatusBarLazy.get().awakenDreams();mCommandQueue.toggleRecentApps();}
点击虚拟导航栏的 RecentsButton 就执行 CommandQueue toggleRecentApps()
三、Recent 加载
Android 在9.0之前 Recents 是在 SystemUI 模块中,从9.0后 Recents 分开在 SystemUI 和 Launcher 中,最终由 Launcher 进行界面显示。
Android 11 Recent按键流程相关推荐
- Android 11 WiFi启动流程
欢迎大家一起学习探讨通信之WLAN.本节重点基于Android11分析讨论WiFi开启流程.用户点击一下"WiFi"开关,WiFi开启了.看似如此简单操作,但系统流程调用还是相当复 ...
- Android 11 热点(softap)流程分析
最近在做Android 11中热点的功能,主要是网络共享,一个是usb网络共享,一个是热点网络共享,本文只是记录热点分享的流程. 一. settings 里面打开热点的接口跟原来类似 packages ...
- Android 11 热点(softap)流程分析(二) WifiManager--AIDL
Android 10以后引入了stable aidl方法,结合上一篇中WifiManager类中通过aidl调用到WifiServiceImpl类中方法,做个详细的记录. 一.frameworks/b ...
- Android添加一个按键流程及SELinux权限问题
最近做高通平台P版本遇到一个添加按键问题,驱动在底层添加了节点,后面就不管了,刚好借此机会搞一下添加案件的整个流程下面写下流程,以做笔记 1.驱动添加节点:节点就是驱动添加的文件 ,sys/class ...
- Android 11 WiFi开启流程
从刚接触WiFi时跟过wifi的开启流程,当时还是android9.到了Android11代码架构有了不小的改动,在这里重新梳理一遍,便于在工作中更快速的跟踪代码. 一.Settings里改动不大,还 ...
- Android 11 WiFi扫描流程梳理
上一篇我们梳理了WiFi的开启流程,Android11 WiFi开启流程,在最后我们说到ActiveModeWarden中注册了ClientListener监听器.我们接着这个逻辑继续梳理一下打开Wi ...
- Android 11 自动亮度调试流程
⾃动背光调节主要过程是通过:监听light sensor 数据,得到对应的 Lux 值,再通过配置的背光曲线计算出当前的亮度,然后设置亮度值. Settings.System.putInt(mCont ...
- Android 4.0按键事件以及系统流程分析
Android 4.0中按键的处理流程 按键在Android系统中,有着不同的代表意义.以前的全键盘的手机代码没有阅读过,所以也不是很了解.本人介绍的是在触摸屏的手机上的按键消息的处理流程. 在现在触 ...
- Android 11(platfrom 30)APP启动流程(含Activity)核心点记录
前言:边分析,边记录 不断更新. 注意:阅读此文请同时打开android-30的源码,一步一步按文章同步跟进阅读源码,因为源码量太大,这里只能贴出部分核心代码. 场景一.从桌面点击APP图标进行启动 ...
最新文章
- LeetCode简单题之长按键入
- 小乐乐打游戏(BFS+曼哈顿距离)
- 破解人工智能系统的四种攻击方法!
- 守卫者的挑战(guard)
- go kegg_GO,KEGG富集分析工具——DAVID
- c++数字金字塔_“资金管理是投资最大的秘密”(超级干货),一生死记“金字塔加仓减仓法”,最安全稳健的操盘法方式!...
- 小程序组件库开发之抽奖游戏组件
- 用GVIM/VIM写Verilog——VIM配置分享
- 腾讯校园招聘笔试 2019-8-17 第五题
- 登录后主机名变成-bash-4.2解决
- Changing a remote's URL
- java中的常见算法
- 调通sina33m下的AP6212A0版本(分色排版)V1.0版本
- 无视任何限制和权限 强制删除文件夹/文件
- xp共享不同网络的win7计算机,windows7与xp怎么设置共享局域网_win7与xp共享局域网如何建立...
- 破解iOS微信骰子和猜拳
- Google Authenticator 原理及Java实现
- 嵌入式系统硬件体系设计(一)
- 【JAVA学习】java中怎么遍历HashMap(Iterator迭代器遍历)
- html封套成exe,一种使用方便的封套的制作方法