外观
副屏或虚拟屏的返回键应该由谁处理?
标准回答
返回事件应该送到正确显示器上获得焦点的窗口,再由该页面或系统导航处理。
- 确认事件的 displayId、目标窗口和实际获得焦点的 Activity。
- 应用只应处理自己接到的返回与导航逻辑。
- 若事件被路由到错误屏幕或 Home 策略不对,应检查输入和窗口管理策略。
通俗例子
副屏点返回却让主屏后退,先排查输入事件的目标 display、焦点和路由;不是在应用里随便再补发一个返回键就能根治。
深入解释
**返回事件先去哪里:**系统按输入分发、显示和焦点策略选择目标窗口,应用再按自己的导航与返回处理规则响应。不是任何虚拟屏都天然拥有独立、完整的输入通道。
**应该按什么顺序排查:**先确认事件的 display、焦点窗口和实际接收方;到达应用后再查返回栈及处理逻辑。若事件根本没送到目标窗口,只改 Activity 的返回方法无法解决。
易混淆点
盲目在应用中启动 MAIN/HOME 可能掩盖焦点问题并破坏其他屏幕的任务行为。
参考资料
内容来源
- Android · AI Agent 知识手册 · 原条目
17.6.3