【问题标题】:Android Physcal Menu Button EventAndroid 物理菜单按钮事件
【发布时间】:2022-01-03 12:02:07
【问题描述】:

我想为想要退出我的应用程序的阻止用户处理物理菜单按钮事件。 我尝试了 onKeyDown()、onClick() 和 onCreateOptionsMenu() 覆盖方法。它们都不适合我。 我怎样才能检测到按下物理菜单按钮?谢谢。

PS:安卓版本 8.1.0

【问题讨论】:

    标签: android button menu click


    【解决方案1】:

    什么是“物理菜单按钮”?您可能正在谈论导致您的应用程序进入后台的主页按钮:出于安全原因,这是不可能的。如果这是可能的,那么一些不公平的应用程序将控制用户的设备/屏幕,并且某些应用程序中可能会出现错误,导致它无法关闭。主页* 和电源按钮不能被劫持或设置为仅处理自定义点击,您最多可以检测到它们被按下,但它们仍然可以完成工作

    *嗯,现在的家是一种姿态

    【讨论】:

    • 我的意思是,设备上有 3 个按钮;像所有安卓设备一样返回、主页和菜单。我可以处理回 onBackpressed() 事件。我还想处理打开一个屏幕的菜单按钮,该屏幕显示所有打开的应用程序。
    • @piruzi 和他已经给你的答案一样——这些是系统处理的系统按钮,出于安全原因,你无法访问它们。此外,第三个按钮已经 5 或 6 年没有菜单了,第三个按钮是最近的。菜单在 2010 年代中期从物理按钮变成了 3 点图标。
    • 我知道,但这是一种仅用于一个目的的特殊设备,在屏幕底部有 3 个按钮。我只是想知道我是否可以检测到它。我虽然可以处理它,因为后退按钮事件运行良好。
    • Gabe 提到了几年前在 Android 设备上出现的旧物理菜单按钮,并在 Android 8.0 之前删除了。你可以在onKeyDown 中使用KeyEvent.KEYCODE_MENU 自定义处理它。如果这没有触发,那么此按钮可能不是菜单按钮,但可能设置了相同的图标...如果您单击它并可以在以前打开的应用程序之间切换,那么这是 Recent button(也称为概述按钮)和您也不能覆盖它。如今,它也是作为 Home 的一种姿态
    • 顺便说一句。如果您有一些非常定制的设备并带有一些修改过的系统版本,那么值得注意这一点。额外的屏幕截图、制作人网站的链接或至少照片(如果这些按钮是实体的)也欢迎
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多