본문 바로가기

개발도구/aOS - 안드로이드 개발

[안드로이드] AlertDialog 후 어플 종료하기

@Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK ) {
        // canGoBack - 브라우저 캐쉬가 전, 후 페이지가 있는지를 확인
        if (browser.canGoBack() == true){
Log.v("canGoBack", "1");
browser.goBack();
}else{
//moveTaskToBack(true);
AlertDialog.Builder builder = new AlertDialog.Builder(this);
// AlertDialog.Builder builder = new AlertDialog.Builder(v.getContext());
builder.setMessage("앱을 종료하시겠습니까?")
      .setCancelable(false)
      .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
          public void onClick(DialogInterface dialog, int id) {
            //Toast.makeText(getApplicationContext(), "ID value is " + Integer.toString(id), Toast.LENGTH_SHORT).show();
          dialog.cancel(); 
          moveTaskToBack(true); // intent 로 인해 전에 있던 창이 있더라도 무시한다.
          finish();
          
          }
      })
      .setNegativeButton("No", new DialogInterface.OnClickListener() {
          public void onClick(DialogInterface dialog, int id) {
           // Toast.makeText(getApplicationContext(), "ID value is " + Integer.toString(id), Toast.LENGTH_SHORT).show();
            
          }
      });

AlertDialog alert = builder.create();
alert.show();

//  AlertDialog 의  가운데 정렬을 위한.. setting
// Must call show() prior to fetching text view 
TextView messageView = (TextView)alert.findViewById(android.R.id.message);
messageView.setGravity(Gravity.CENTER);
}
       
       
        // finish();
         return true;
        }
        return super.onKeyDown(keyCode, event);
    }