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的源码,它

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

安卓兼职framework应用工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值