1

我正在开发具有锁定功能的 Android 应用程序。请建议我如何以编程方式禁用所有硬键。在这里,我使用下面的代码来禁用后退按钮。我想为所有硬键(如主页、搜索、相机、快捷键)提供此功能,这是我的代码:

@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_SEARCH) {
        Log.d("KeyPress", "search");
        return true;
    }
    return false;
}
4

2 回答 2

0

Modify your onKey method to this :

@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
    return true;
}

When you return true from onKey method, it means that you have handled the key press yourself and prevents the OS from taking the default action. In you code, you are only handling the search button, but when you return true for all cases, it will block all buttons.

P.S this might not work for soft buttons. Refer this

于 2012-12-01T11:02:49.363 回答
-1

试试这个,它可能会解决你的问题:

@Override

    public boolean onKeyDown(int keyCode, KeyEvent event) {

        if ((keyCode == KeyEvent.KEYCODE_HOME)) {
            System.out.println("KEYCODE_HOME");
            return true;
        }
        if ((keyCode == KeyEvent.KEYCODE_BACK)) {
            System.out.println("KEYCODE_BACK");
            return true;
        }
        if ((keyCode == KeyEvent.KEYCODE_MENU)) {
            System.out.println("KEYCODE_MENU");
            return true;
        }
        return false;
    }
于 2015-11-13T12:21:57.040 回答