【发布时间】:2022-01-03 12:02:07
【问题描述】:
我想为想要退出我的应用程序的阻止用户处理物理菜单按钮事件。 我尝试了 onKeyDown()、onClick() 和 onCreateOptionsMenu() 覆盖方法。它们都不适合我。 我怎样才能检测到按下物理菜单按钮?谢谢。
PS:安卓版本 8.1.0
【问题讨论】:
我想为想要退出我的应用程序的阻止用户处理物理菜单按钮事件。 我尝试了 onKeyDown()、onClick() 和 onCreateOptionsMenu() 覆盖方法。它们都不适合我。 我怎样才能检测到按下物理菜单按钮?谢谢。
PS:安卓版本 8.1.0
【问题讨论】:
什么是“物理菜单按钮”?您可能正在谈论导致您的应用程序进入后台的主页按钮:出于安全原因,这是不可能的。如果这是可能的,那么一些不公平的应用程序将控制用户的设备/屏幕,并且某些应用程序中可能会出现错误,导致它无法关闭。主页* 和电源按钮不能被劫持或设置为仅处理自定义点击,您最多可以检测到它们被按下,但它们仍然可以完成工作
*嗯,现在的家是一种姿态
【讨论】:
onKeyDown 中使用KeyEvent.KEYCODE_MENU 自定义处理它。如果这没有触发,那么此按钮可能不是菜单按钮,但可能设置了相同的图标...如果您单击它并可以在以前打开的应用程序之间切换,那么这是 Recent button(也称为概述按钮)和您也不能覆盖它。如今,它也是作为 Home 的一种姿态