如何处理Android导航栏菜单键上的长按?

Posted

技术标签:

【中文标题】如何处理Android导航栏菜单键上的长按?【英文标题】:How to handle Long Press on Android Navigation Bar menu key? 【发布时间】:2015-05-07 14:00:37 【问题描述】:

我尝试处理导航栏(软键)上的长按事件以在我的 Activity 中执行操作。我的手机运行的是 android 4.4.4。

我试图覆盖 onKeyDown() 和 onKeyLongPress(),但是这个 Handler 都没有收到这个事件。

我没有找到任何这样的例子。有没有可能,怎么做?

【问题讨论】:

AFAIK 这是不可能的,因为这些按钮不是您的应用程序的一部分(与检测“主页”按下相同的方式是不可能的)。 谢谢!这很令人沮丧。显然可以处理 de Back 按钮:***.com/questions/8956587/… 【参考方案1】:

AFAIK 这是不可能的,因为这些按钮不是您的应用程序的一部分(与检测“主页”按下相同的方式是不可能的)。

是的,“后退”按钮有其 API 回调,Activity.onBackPressed(),但没有其他按钮的 API,它们仅由系统/启动器处理。

所以恐怕没有办法实现你的要求。 (很遗憾,如果您愿意,但这是设计使然,我相信您会明白原因)。

【讨论】:

谢谢!我只是在与这个问题相关的事情上徘徊。在某些 Android 设备上,物理“菜单”按钮用于列出正在运行的应用程序,有时在某些应用程序上长按会打开菜单。我徘徊它是如何完成的,如果它与软键的行为相同?

以上是关于如何处理Android导航栏菜单键上的长按?的主要内容,如果未能解决你的问题,请参考以下文章

如何处理我的导航栏以使其看起来像图片?

如何处理Android中的长按

如何处理后退按钮android以退出应用程序并在首页中打开时关闭本机导航侧菜单

处理来自操作栏的向上导航,如后退导航。如何?

如何处理bash脚本的waitkey功能中的长按按钮?

Electron菜单栏&导航栏隐藏