Android 大屏外接显示器锁屏无触摸

一、大海捞针

1、首先查看log,发现异常log
在这里插入图片描述

log表示主显示器即id 0的显示器有可交互窗口但是没有焦点,副显示器即id 4有焦点但是没有可交互窗口。猜想副显示器把主显示器的焦点抢走了,只需把焦点从副显示器挪回主显示器即可。
通过查看源代码知道上面这段log来自于InputDispatcher.cpp setFocusedDisplay函数中:
在这里插入图片描述

在正常情况下这里不会触发,也就是要想解决问题就要让代码不走这里,顺着这个思路一路往上找。
发现在只有com_android_server_input_InputManagerService.cpp有对该处的调用,但是通过打印发现这个地方往下设置的display id 一直都是0没有改变过,说明这条路是没有问题的。那就只能寻找另一条路。
2、再查看log又有新的发现:
在这里插入图片描述

在这里插入图片描述

发现这些log是在InputDispatcher 的findTouchedWindowTargetsLocked 和findFocusedWindowTarg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值