뒤로버튼 빠르게 두번 눌러 어플 종료하기
네이버어플을 보면 뒤로 버튼을 누르면 위 사진과 같은 Toast가 나오고 뒤로버튼을 한번 더 누르면 어플을 종료하게 되죠. 저도 나름 구현해 봤습니다.
long backKeyClick=0;
long backKeyClickTime;
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) ) {
long currentTime = System.currentTimeMillis();
final int duration = 2000;
backKeyClick ++;
if (backKeyClick == 1){
backKeyClickTime = System.currentTimeMillis();
Toast t = Toast.makeText(context,
"워드톡을 종료하려면 '뒤로'버튼을 한번 더 누르세요.",
Toast.LENGTH_SHORT);
t.setDuration(duration);
t.show();
new Thread(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(duration);
} catch (InterruptedException e) {
e.printStackTrace();
}
backKeyClick=0;
}
}).start();
}else if(backKeyClick == 2){
if(currentTime - backKeyClickTime <= duration ){
return super.onKeyDown(keyCode, event);
}
backKeyClick = 0;
}
return true;
}
return super.onKeyDown(keyCode, event);
}