我的问题是这样的:
我可以在一定时间内禁用菜单按钮吗?我的意思是从 ym 应用程序设置,例如,在接下来的 10 分钟内,如果我按下菜单,即使我在其他应用程序中也不会发生任何事情。按下该时间后,将检索菜单功能。
我的应用程序当然会在后台运行并检查时间,但我不知道是否可以“禁用”该按钮。我不是在问如何实现时间,而是在问如何禁用菜单按钮。
它是如何工作的?
菜单事件在 Android 框架内处理。框架使用KEYCODE_MENU。换句话说,事件不会被分派,也永远不会到达您的应用程序层。这意味着,您不能覆盖此功能。
在构建新平台时,您可以自己更改框架。在PhoneWindowManager内部(默认KeyEvents
的处理方式是这样的KEYCODE_HOME
),您可以添加逻辑来处理KEYCODE_MENU
方法内部interceptKeyBeforeDispatching(..)
。