在 app-info.vue 中下载解除锁定后,限制 HOME 键和任务键,避免用户回到或退出软件。
当临时退出 Kiosk 模式(用于安装 APK)时,仍然保持对 HOME 键和任务键的拦截能力。如果用户按下这些按键,会立即尝试恢复 LockTask 模式。
新增标志:
interceptKeysDuringTemporaryExit: 标记是否在临时退出期间需要拦截按键新增方法:
enableKeyInterceptDuringTemporaryExit(): 启用临时退出期间的按键拦截disableKeyInterceptDuringTemporaryExit(): 禁用临时退出期间的按键拦截修改方法:
interceptKey(): 在检测到 HOME 键或任务键时,如果处于临时退出期间,会尝试恢复 LockTaskresumeKiosk(): 恢复 Kiosk 时自动禁用按键拦截标志修改方法:
temporaryExitKiosk(): 临时退出时自动启用按键拦截由于逻辑已封装在原生层,Vue 层无需修改。流程如下:
temporaryExitKiosk() → 退出 LockTask + 启用按键拦截resumeKiosk() → 恢复 LockTask + 禁用按键拦截用户点击下载/安装
↓
temporaryExitKiosk()
├─ 退出 LockTask 模式
└─ 启用按键拦截标志 ✅
↓
安装 APK(用户可能按下 HOME/任务键)
↓
interceptKey() 检测到按键
├─ 拦截按键事件
└─ 尝试恢复 LockTask(延迟 100ms)
↓
安装完成/失败
↓
resumeKiosk()
├─ 禁用按键拦截标志 ✅
└─ 恢复 LockTask 模式
interceptKey 中使用 100ms 延迟,避免与安装流程冲突interceptKeysDuringTemporaryExit 为 true 且未启动 LockTask 时才尝试恢复resumeKiosk 会自动禁用按键拦截标志,确保状态正确