백버튼을 누번 눌러서 액티비티를 종료시키는 예제를 작성하고 있습니다.
public boolean mBackPress = false;
public void onBackPressed() {
if(!mBackPress){
mBackPress=true;
mHandler.sendEmptyMessageAtTime(123,5000);
}else{
finish();
}
return;
}
private Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case 123:
Log.e("","!!!");
mBackPress = false;
break;
}
}
};
위와 같이 코드를 작성하였습니다.
근데 로그를 찍어보니 5초있다가 핸들러메세지가 호출되는게 아니라.. 바로바로 호출이 되네요.
백버튼을 누르자마자 로그에 !!!가 찍힙니다.
마구마구 백버튼을 눌러도.. finish()로는 안가네요....ㅠㅠ
혹시 이거 왜 이런지 아시는분 답변 부탁드립니다.
(안드로이드 2.3.3)