336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

안드로이드 단말기에 있는 뒤로가기 하드웨어 키를 눌렀을 때, 앱이 종료 여부를 묻는 창을 보여주는 코드를 구현하도록 하겠다. 


1. 뒤로가기(BACK 버튼) 입력을 감지한다. 

2. 다이얼로그를 생성한다. 

3. 다이얼로그의 긍정 이벤트일때 앱을 종료한다.  

 


코드는 아래와 같다. 

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    // TODO 
}
	
@Override
// 1. 뒤로가지 입력을 감지한다. 
public void onBackPressed() {
    // 2. 다이얼로그를 생성한다. 
    Builder builder = new AlertDialog.Builder(this);
    builder.setTitle("알림");
    builder.setMessage("앱을 종료하시겠습니까?");
    builder.setNegativeButton("취소", null);
    builder.setPositiveButton("종료", new DialogInterface.OnClickListener() {
   
        @Override
        public void onClick(DialogInterface dialog, int which) {
            // 3. 다이얼로그의 긍정 이벤트일 경우 종료한다. 
          android.os.Process.killProcess(android.os.Process.myPid());
       }
    });
    builder.show();
    }
}
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.


안드로이드 단말기에 있는 뒤로가기 하드웨어 키를 두번 눌렀을 때, 앱이 종료되는 코드를 구현하도록 하겠다. 


1. 뒤로가기(BACK 버튼) 입력을 감지한다. 

2. (현재 시간 - 이전 입력 시간) 이 유지 시간(duration_time) 보다 작다면 앱 종료

3. (현재 시간 - 이전 입력 시간) 이 유지 시간(duration_time) 보다 크다면 현재 시간 저장 및 가이드 메시지 보이기

 


코드는 아래와 같다. 

public class MainActiviry extends Activity {
   private static final long DURATION_TIME = 2000L;
   private long prevPressTime = 0L;

   @Override
   public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      requestWindowFeature(Window.FEATURE_NO_TITLE);
      // TODO 
   }
	
   @Override
   // 1. 뒤로가지 입력을 감지한다. 
   public void onBackPressed() {
// 2. 유지 시간(duration_time) 보다 작다면, 앱 종료
      if (System.currentTimeMillis() - prevPressTime <= DURATION_TIME) {
         android.os.Process.killProcess(android.os.Process.myPid());
      } else {
         // 3. 유지 시간(duration_time) 보다 크다면, 가이드 메시지 보이기. 
         prevPressTime = System.currentTimeMillis();
         Toast.makeText(this, "뒤로가기 버튼을 누르면 앱이 종료됩니다", Toast.LENGTH_SHORT).show();
      }
   }
}