android - 在Android中检测物理菜单按键

标签 android button

我正在尝试检测我的 Android 手机上的物理菜单按钮何时被按下。我虽然下面的代码可以工作,但它没有。请问我哪里错了?

返回的错误是'Illegal modifier for parameter onKeyDown;只允许final'

public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_MENU) {
        // Do Stuff
    } else {
        return super.onKeyDown(keyCode, event);
    }
}

最佳答案

我会使用 onKeyUp 寻找 up 键事件,而不是 down 事件。

public boolean onKeyUp(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_MENU) {
        // ........
        return true;
    }
    return super.onKeyUp(keyCode, event);
}

我们返回 true 因为我们正在处理事件;如果您希望系统也处理该事件,则返回 false

您也可以在 Activity 实例中完成所有这些操作,因为 ActivityKeyEvent 的已知间接子类。

关于android - 在Android中检测物理菜单按键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4239880/

相关文章:

android - 仅在按下完成按钮时获取 DatePickerDialog 值

android - 在 onClick 上启动服务

ios - 如何在点击时更改按钮的图像 - Swift

c# - 具有确定操作的 Caliburn MVVM WPF 对话框

javascript - 按钮移动相机 THREE.js

android - 无法在app_database文件夹android模拟器下看到sqlite数据库

安卓工作室: "Gradle is running. Proceed with Project closing?"

android - OpenCV 高斯模糊在安卓上运行缓慢

带有 SeekBar 的 Android - 防止 'thumb' 在触摸 SeekBar 以拖动/滚动屏幕时移动

wpf - 如何创建一个按钮来更改 WPF 中 StackPanel 中的源图像和文本颜色?