검색결과 리스트
backbutton에 해당되는 글 1건
- 2012.10.05 Back버튼을 두 번 눌러 종료
글
현재 만드는 소스에는 필요없는 기능이지만 거의 표준처럼 사용되는 기능이기에 나중에 쓰기 위해 정리해둔다. 이미지라던가 소스에 줄 수를 표시하는 건 본인이 싫어하므로 제거했으며, 이미지 등은 출처에서 확인 바란다. (물론 증명된 소스는 아니므로 혹시라도 구현 시 문제가 있다면 추후 수정하도록 하겠다)
안드로이드폰을 사용하다가 무심결에 터치 버튼이 눌러져서 본의 아니게 앱이 종료된 경험을 많은 사람들이 가지고 있을 것이다.
아래 소스는 앱 화면에서 'Back' 버튼을 눌렀을 때, 바로 앱이 종료되는 것이 아니라 종료를 위해서 다시 한번 'Back' 버튼을 눌러달라는 메시지를 띄워준다. 그리고는 지정된 시간(여기서는 2초) 이내에 다시 'Back' 버튼이 눌려지면 실제로 앱에서 빠져나오게 된다.
package com.huikyun.tester;
import java.util.Calendar;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.widget.Toast;
publicclass BackKeyEventActivity extends Activity {
privatestaticfinal String TAG = "BackKeyEventActivity";
privatestaticfinalint MSG_TIMER_EXPIRED = 1;
privatestaticfinalint BACKKEY_TIMEOUT = 2;
privatestaticfinalint MILLIS_IN_SEC = 1000;
privateboolean mIsBackKeyPressed = false;
privatelong mCurrTimeInMillis = 0;
@Override
publicvoid onBackPressed() {
// super.onBackPressed();
if (mIsBackKeyPressed == false) {
mIsBackKeyPressed = true;
mCurrTimeInMillis = Calendar.getInstance().getTimeInMillis();
Toast.makeText(this, "종료를원하시면다시한번 \"Back key\"를
눌러주시기바랍니다.", Toast.LENGTH_SHORT).show();
startTimer();
} else {
mIsBackKeyPressed = false;
if (Calendar.getInstance().getTimeInMillis() <=
(mCurrTimeInMillis + (BACKKEY_TIMEOUT * MILLIS_IN_SEC))) {
finish();
}
}
}
privatevoid startTimer() {
mTimerHandler.sendEmptyMessageDelayed(MSG_TIMER_EXPIRED, BACKKEY_TIMEOUT * MILLIS_IN_SEC);
}
private Handler mTimerHandler = new Handler() {
@Override
publicvoid handleMessage(Message msg) {
// super.handleMessage(msg);
switch (msg.what) {
case MSG_TIMER_EXPIRED: {
mIsBackKeyPressed = false;
}
break;
}
}
};
}
'-- Android' 카테고리의 다른 글
How To Make A Simple Phone Call Application (0) | 2012.10.05 |
---|---|
Sending a SMS Message from an Android Application (0) | 2012.10.05 |
Handling some android sqlite issues (0) | 2012.10.05 |
안드로이드 서버/클라이언트 소켓통신 (0) | 2012.10.05 |
안드로이드 개발환경 구축 (0) | 2012.09.20 |
RECENT COMMENT