如何在Android中以编程方式禁用所有硬件密钥?

问题描述 投票:1回答:2

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

@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_SEARCH) {
        Log.d("KeyPress", "search");
        return true;
    }
    return false;
}
android android-hardware
2个回答
0
投票

将您的onKey方法修改为此:

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

当从onKey方法返回true时,这意味着您已自行处理了按键,并阻止了操作系统采取默认操作。在代码中,您仅处理搜索按钮,但是在所有情况下都返回true时,它将阻止所有按钮。

P.S,这可能不适用于软按钮。请参阅this


-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;
    }
© www.soinside.com 2019 - 2024. All rights reserved.