我正在开发具有锁定功能的Android应用程序。请建议我如何以编程方式禁用所有硬键。在这里我使用下面的代码禁用后退按钮。我想要所有主页,搜索,相机,快捷键等硬键都喜欢此功能这是我的代码:
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_SEARCH) {
Log.d("KeyPress", "search");
return true;
}
return false;
}
将您的onKey方法修改为此:
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
return true;
}
当从onKey方法返回true时,这意味着您已自行处理了按键,并阻止了操作系统采取默认操作。在代码中,您仅处理搜索按钮,但是在所有情况下都返回true时,它将阻止所有按钮。
P.S,这可能不适用于软按钮。请参阅this
尝试一下,可能会解决您的问题:
@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;
}