-
백키 두번으로 어플 종료 시키는 간단한 방법안드로이드/학습&강좌 2011. 5. 22. 22:08
요즘의 어플들을 살펴보다 보면 '뒤로'버튼을 한번 더 누르시면 종료됩니다. 이 문구를 자주 보게 된다.
요새의 대세란다. 구현함에 있어서 별 어려울 것 없어서 그냥 소개 해 보자고 한다.
간단하게 구성한 화면 먼저 보자.
문구는 요새 어플 들이 쓰는 문구 그대로를 따라 했고, 토스트 메시지가 사라지기 전에 Back 키를 한번더 누르면
종료 되며, 사라지고 난 후에는 다시 이 토스트 메시지가 나타난다.
시간이 지나면 이 메시지를 전환 시키는 것인데 handler를 이용한 메시지 전달 방식을 이용 했다.
코드를 살펴 보자.
ExitTestActivity.javapackage com.tistory.ememomo;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;public class ExitTestActivity extends Activity {
Button backBtn;
private boolean mFlag = false;
//타이머를 설정하기 위한 핸들러
private Handler mHandler;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
if(msg.what == 0)
{
mFlag = false;
//2초가 지나면 다시 Falg 를 false로 바꾼다.
Log.d("", "handleMessage mFlag : " + mFlag);
}
}
};
backBtn = (Button)findViewById(R.id.backBtn);
backBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
onBackPressed();
}
});
}
@Override
public void onBackPressed() {
if(!mFlag)
{
Toast.makeText(ExitTestActivity.this, "'뒤로'버튼을 한번 더 누르시면 종료됩니다.", Toast.LENGTH_SHORT).show();
mFlag = true;
mHandler.sendEmptyMessageDelayed(0, 1000*2);
//2초 후에 handleMessage에 메시지를 전달한다.
}
else{
super.onBackPressed();
}
}
}
코드 자체에 주석을 달아놨으니 이해하는데 별 무리가 없을 것이다.
잘 사용해 주시길 바란다~~'안드로이드 > 학습&강좌' 카테고리의 다른 글
갤러리를 이용한 커버플로우 만들기 (1) 2011.06.11 DrawArc 를 이용한 원그리기 (0) 2011.06.06 asset 을 이용한 txt 문서 읽기. (0) 2011.05.28 간단한 XML 파싱방법 (18) 2011.05.28 TextWatcher 를 이용한 글입력 제한 하기. (0) 2011.05.22 ANR 을 방지 하기 위한 AsyncTask (1) 2011.05.15 폰에서 웹서버로 파일 전송 하는 방법 (108) 2011.05.15 셀렉트바 // 팝업윈도우를 이용한 셀렉트바 만들기 2부 (0) 2011.05.08 셀렉트바 // 팝업윈도우를 이용한 셀렉트바 만들기 1부 (0) 2011.05.07 부드러운 리스트 뷰 스크롤 (12) 2011.05.06 댓글