Android焦点窗口设定

我们经常会遇到一种Application does not hava focused window的ANR异常,这种异常一般是没有焦点窗口FocusedWindow导致,且这类异常只会发生在key事件的派发,

因为key事件是需要找到一个焦点窗口然后再派发,而触摸事件只需要找到当前显示的窗口即可

焦点窗口设定

焦点窗口是指当前正在与用户交互的窗口,该窗口负责接收键事件和触摸事件。当启动新的Activity、添加新的窗口、移除旧窗口、分屏来回操作时,都会涉及到焦点窗口的更新。

WMS只管理窗口,无法确定是否有窗口盖住当前画面

SurfaceFlinger管理显示,最贴近于用户看到的画面,可以知道可以知道是否有窗口盖住当前画面,根据真实的显示窗口设置对应的window信息给InputDispatcher

相关推荐
戴西软件2 分钟前
CAxWorks.VPG车辆工程仿真软件:打造新能源汽车安全的“数字防线“
android·大数据·运维·人工智能·安全·低代码·汽车
ljt27249606616 分钟前
Compose笔记(六十三)--SegmentedButton
android·笔记·android jetpack
Android系统攻城狮7 分钟前
Android ALSA驱动进阶之设置共享内存snd_pcm_lib_mmap_iomem:用法实例(九十九)
android·pcm·音频进阶·alsa驱动·android驱动
ZHANG13HAO15 分钟前
Android 13 系统源码定制的保活方案,
android
2501_946230988 小时前
Cordova&OpenHarmony通知中心实现
android·javascript
csj509 小时前
安卓基础之《(9)—中级控件(3)文本输入》
android
Elastic 中国社区官方博客11 小时前
Elasticsearch:在 X-mas 吃一些更健康的东西
android·大数据·数据库·人工智能·elasticsearch·搜索引擎·全文检索
2501_9462309812 小时前
Cordova&OpenHarmony提醒管理系统实现
android·javascript
shaominjin12314 小时前
Jetpack Compose 实践入门:从环境搭建到待办列表实现
android
冬奇Lab16 小时前
稳定性性能系列之二——ANR机制深度解析:从触发到上报
android·性能优化·debug