Android 9.0 10.0 TvSettings home键不响应问题修复

1.概述

在10.0的box版本的设备中,系统设置有Settings和TvSettings,这款产品用的是TvSettings 但是发现用遥控器的Home键 点击HOME键时 无反应退不到Launcher桌面或者 input keyevent 3命令模拟Home键时,还是无响应退不到桌面,TvSettings没有退出 回到Launcher 这就需要看keycode Home事件是否由底层驱动反馈到上层应用,然后查询问题所在

2.问题分析

1.adb shell getevent 发现点击home 键时 有事件上报可以查到相关的信息
2.想办法监听在TvSettings的onKeyDown事件 看能不能监听到Home事件、
但是发现始终监听不到Home键 对于Home按键消息的处理,既不能通过onKeyDown、onKeyUp接收到
在每次点击Home按键时都会发出一个action为Intent.ACTION_CLOSE_SYSTEM_DIALOGS的广播,它是关闭系统Dialog的广播,我们可以通过注册它来监听Home按键消息
3.在TvSettings中监听Intent.ACTION_CLOSE_SYSTEM_DIALOGS 广播 当intent.getStringExtra(“reason”)
的值为homekey时就表示是home键,收到Home消息时就finish掉窗口回到桌面

3.home键不响应核心代码

xref: /packages/apps/TvSettings/Settings/src/com/android/tv/settings/TvSettingsActivity.java

首先来看下TvSettingsActivity.java的源码,它

你可能感兴趣的:(android,settings,home键无响应,home键无响应修复,TvSettings)