posted by 네코냥이 2013. 8. 2. 09:55

http://blog.naver.com/websearch/70102334274


안드로이드 프로그램이 실행 중에 Back 버튼을 클릭하면 프로그램이 화면에서 사라지게 됩니다. 물론 프로그램이 종료된 것은 아니고 프로그램의 GUI 가 사라지고 프로세스는 실행되는 상태가 됩니다. 사용자가 실수로 Back 버튼을 클릭하여서 불필요하게 프로그램의 GUI 가 사라지지 않도록 하기 위해서는 아래의 코드와 같이 키보드 이벤트를 감지하여서 Back 버튼이 클릭되었을 때에 사용자에게 프로그램을 종료할지를 확인하면 됩니다.

 

public class TestDestory extends Activity
{
 /** Called when the activity is first created. */
 @Override
 public void onCreate(Bundle savedInstanceState)
 {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
 }

 

 @Override
 public boolean onKeyDown(int keyCode, KeyEvent event)
 {
  if( keyCode == KeyEvent.KEYCODE_BACK )
  {
   new AlertDialog.Builder(this).setIcon(android.R.drawable.ic_dialog_alert).setTitle("Quit").setMessage("Do you want to quit").setPositiveButton("Yes", new DialogInterface.OnClickListener()
   {
     @Override
     public void onClick( DialogInterface dialog, int which )
     {
       finish();
     }
   }).setNegativeButton( "No", null ).show(); 
  
   return true;
  }
  
  return super.onKeyDown(keyCode, event);
 }
}