본문 바로가기

안드로이드 뒤로가기 버튼 더블클릭해서 앱 종료하기

반응형

앱 사용하다가 종료를 할때 뒤로가기 버튼을 한번 더 터치하면 앱을 종료한다는거 한번 이상은 보셨을거라 생각을 합니다.

코드를 보도록 하겠습니다.


BackPressCloseHandler.java
public class BackPressCloseHandler extends Activity {        
        private long backKeyPressedTime = 0;
        private Toast toast;
        private Activity activity;
        public BackPressCloseHandler(MainActivity context) {
                this.activity = context;
        }
        
        public void onBackPressed() {
                if (System.currentTimeMillis() > backKeyPressedTime + 2000) {
                        backKeyPressedTime = System.currentTimeMillis();
                        showGuide();
                        return;
                }
                if (System.currentTimeMillis() <= backKeyPressedTime + 2000) {                        
                        activity.finish();
                        toast.cancel();                        
                }
        }
        
        
        private void showGuide() {
                toast = Toast.makeText(activity, "뒤로 버튼을 한번 더 터치하시면 종료됩니다.",
                Toast.LENGTH_SHORT);
                toast.show();
        }
}




MainActivity.java
private BackPressCloseHandler backPressCloseHandler;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    backPressCloseHandler = new BackPressCloseHandler(this);
}

public void onBackPressed() {
    backPressCloseHandler.onBackPressed();
}

반응형

댓글


Copyright ⓒ SmartWeb All rights reserved.