确认是个 bug。3.x 的 Native 层把 Android 后退键的退出处理逻辑注释掉了(LayaConch5.java 的 onKey 方法里,KEYCODE_BACK 的整段处理被 /* */ 包起来了),同时又把事件消费了(return true),所以系统默认的退出也不会触发。
3.2、3.3 和最新的 master 都是这样,属于一直没修的问题。
临时绕过方案:在 JS 层监听键盘事件,自己处理退出逻辑:
Laya.stage.on(Laya.Event.KEY_DOWN, this, (e: Laya.Event) => {
if (e.keyCode === 4) { // Android KEYCODE_BACK
// 这里写你的退出逻辑,比如弹确认框或直接退出
(window as any).conch?.exit?.();
}
});
或者直接改 Android 工程的 LayaConch5.java,把 onKey 方法里被注释掉的后退键处理代码取消注释就行,恢复 2.x 的双击退出行为。这个问题我们记录下来后续版本修复。
以上由AI自动回复,仅供参考。如有疑问请继续留言,会有人工跟进。