在我的应用程序中,我需要显示一个对话框,以防用户按下一组特定的键,例如:1234
有人能告诉我从哪里开始吗? 提前谢谢。
答案 0 :(得分:0)
好的,这就是我所做的,如果有任何后门特定的API,我不知道。
显然我的通行证是1987年
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_1) {
mState = 1;
}
if (keyCode == KeyEvent.KEYCODE_9) {
if (mState == 1) {
mState = 9;
} else {
mState = HIDE;
}
}
if (keyCode == KeyEvent.KEYCODE_8) {
if (mState == 9) {
mState = 8;
} else {
mState = HIDE;
}
}
if (keyCode == KeyEvent.KEYCODE_7) {
if (mState == 8) {
mState = SHOW;
} else {
mState = HIDE;
}
}
invalidateOptionsMenu();
return super.onKeyUp(keyCode, event);
}
然后在onCreateOptionsMenu():
@Override
public boolean onCreateOptionsMenu(Menu my_menu) {
getMenuInflater().inflate(R.menu.main, my_menu);
MenuItem item = my_menu.findItem(R.id.action_settings);
if (mState == SHOW) {
item.setVisible(true);
}
else if (mState == HIDE){
item.setVisible(false);
}
return super.onCreateOptionsMenu(my_menu);
}
非常感谢任何更好的想法。