프로그램 종료 코드를 두 번 연속으로 누르십시오
968 단어 수신 백 키연속 두 번 프로그램 종료
또한dispatchKey Event는 감청할 때 누르는 조작을 감청할 뿐만 아니라 핸드폰이 떠나는 조작도 감청할 수 있다. 이것이 바로 어떤 친구들이 한 번 눌렀다는 것을 발견했다. 이 방법이 두 번 실행된 이유다. 해결 방법은 손가락을 들어 올리는 조작을 금지하는 것이다. 코드는 다음과 같다.getAction() !=KeyEvent.ACTION_UP, 판단 조건에 이 한마디를 더하면 돼요.
다음은 연속으로 두 번의 종료 키, 프로그램을 종료하는 코드입니다.
long flag= -1;
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK && event.getAction() != KeyEvent.ACTION_UP) {
if (flag == -1||System.currentTimeMillis() - flag >2000) {
Toast.makeText(this, " ", Toast.LENGTH_SHORT).show();
flag = System.currentTimeMillis();
} else if (System.currentTimeMillis() - flag < 2000) {
Intent exit = new Intent(Intent.ACTION_MAIN);
exit.addCategory(Intent.CATEGORY_HOME);
exit.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(exit);
System.exit(0);
}
}
return true;
}