检测Android中的物理菜单按键 [英] Detecting physical Menu key press in Android

查看:16
本文介绍了检测Android中的物理菜单按键的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I am trying to detect when the physical Menu button on my Android phone has been pressed. I though the code below would work but it does not. Where am I going wrong please?

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

The error returned is 'Illegal modifier for parameter onKeyDown; only final is permitted'

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

推荐答案

我会寻找 up 键事件,而不是 down 事件,带有 onKeyUp.

I'd look for an up key event, rather than a down event, with onKeyUp.

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

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

We return true because we're handling the event; return false if you want the system to handle the event too.

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

You can do all of this in your Activity instance too because Activity is a known indirect subclass of KeyEvent.

这篇关于检测Android中的物理菜单按键的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆