private boolean mPressFirstBackKey = false; // Back의 상태값을 저장하기 위한 변수
private Timer timer;
public void onBackPressed (){
if(mPressFirstBackKey == false) { // Back 키가 첫번째로 눌린 경우
Toast.makeText(this, "뒤로 버튼을 한번 더 누르면 종료합니다.", Toast.LENGTH_LONG).show();
mPressFirstBackKey = true;
//------------------------------------------------------------------
//Back키가 2초내에 두번 눌렸는지 감지
TimerTask second = new TimerTask() {
@Override
public void run() {
timer.cancel();
timer = null;
mPressFirstBackKey = false;
}
};
if(timer != null){
timer.cancel();
timer = null;
}
timer = new Timer();
timer.schedule(second, 2000);
}else
super.onBackPressed();
}
private boolean mPressFirstBackKey = false; // Back의 상태값을 저장하기 위한 변수
private Timer timer;
public void onBackPressed (){
if(mPressFirstBackKey == false) { // Back 키가 첫번째로 눌린 경우
Toast.makeText(this, "뒤로 버튼을 한번 더 누르면 종료합니다.", Toast.LENGTH_LONG).show();
mPressFirstBackKey = true;
//------------------------------------------------------------------
//Back키가 2초내에 두번 눌렸는지 감지
TimerTask second = new TimerTask() {
@Override
public void run() {
timer.cancel();
timer = null;
mPressFirstBackKey = false;
}
};
if(timer != null){
timer.cancel();
timer = null;
}
timer = new Timer();
timer.schedule(second, 2000);
}else
super.onBackPressed();
}
private boolean mPressFirstBackKey = false; // Back의 상태값을 저장하기 위한 변수 private Timer timer; public void onBackPressed (){ if(mPressFirstBackKey == false) { // Back 키가 첫번째로 눌린 경우 Toast.makeText(this, "뒤로 버튼을 한번 더 누르면 종료합니다.", Toast.LENGTH_LONG).show(); mPressFirstBackKey = true; //------------------------------------------------------------------ //Back키가 2초내에 두번 눌렸는지 감지 TimerTask second = new TimerTask() { @Override public void run() { timer.cancel(); timer = null; mPressFirstBackKey = false; } }; if(timer != null){ timer.cancel(); timer = null; } timer = new Timer(); timer.schedule(second, 2000); }else super.onBackPressed(); }
안드로이드 앱중에 원기 날씨가 뒤로가기 두번 연달아 누르면 종료되고 한번 누르면 메세지만 보여주는데
그게 괜찮은 방식 같아서 적용해봄 그리고 소스 정리함.
답글 남기기