问题: 双屏双用户,启动两个应用实例,副屏幕点击空白区域后显示主屏幕内容 -> 副屏Display锁屏状态异常
分析:
dumpsys window animator
观察Top Window是否存在 => 存在,无异常退出dumpsys window
查看Top Window的状态,isVisible
,isOnScreen
=> 可见dumpsys activity
查看对应Activity状态 => 正常dumpsys display
对比正常异常状态 => mViewports(物理Display上的显示状态)出现异常,两个同时显示 displayId 0 的内容- 分析mViewports显示逻辑 => 副屏displayHasContent false时会显示默认屏幕内容
- 锁屏解锁后未设置DisplayPolicy中锁屏状态
方案: 自定义锁屏应用解锁时,应调用KeyguardService回调设置锁屏显示状态为false