2013-03-08 7 views
5

사용자가 버튼을 클릭 할 때까지 계속 경고음을 울리는 활동이 있습니다. 버튼을 클릭하면 메시지가 표시됩니다. 메시지를 표시 한 후, 나가기 위해 뒤로 버튼을 누르는 대신에, 내 활동이 독자적으로 홈 화면으로 나가기를 원합니다.작업 완료 후 홈 화면으로 돌아 가기

finish() 메서드가이를 수행합니까? 그렇다면 어떻게 구현해야합니까?

모든 종류의 도움을 주실 수 있습니다. 감사합니다

답변

7
Intent i= new Intent("package.homescreenactivity");//homescreen of your app. 
    i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NO_HISTORY); 
    startActivity(i); 
    finish(); 

액티비티 스택을 지워서 홈 화면으로 돌아갑니다.

전체 개념을 이해하려면이 사이트를 살펴 보는 것이 좋습니다. http://developer.android.com/guide/components/tasks-and-back-stack.html. 사이트에서 활동 백 스택 작동 방식에 대해 이야기합니다.

업데이트 : (8 월 15 일 2014)

지우기 가기 backstack 좋은 생각이되지 않을 수 있습니다. 효과적인 탐색 디자인 지침을 살펴보십시오.

뒤로 버튼을 누르면 이전 활동으로 돌아갑니다.

확인

http://developer.android.com/design/patterns/navigation.html

+1

내가 명확하지 않은 경우 죄송합니다. 나는 안드로이드 폰의 기본 홈 화면을 의미했습니다. 이 일로 돌아갈 수 있습니까? – newbee

+0

수정 된 게시물을 확인하십시오. – Raghunandan

+0

그것을 얻었습니다! 고마워요 :) – newbee

1

모든 활동에 마무리() 메소드를 적용합니다. 활동이 끝난 후 홈 화면으로 돌아갑니다.

1

사례 1 : 버튼의 경우

public void onClick(View v) { 
    // Show message here 
    moveTaskToBack(true); 
    } 

경우 2를 클릭 : 당신은에 finish() 전화, 당신은 alertdialog로 메시지를 보여주고있다 가정 집

public boolean onKeyDown(int keyCode, KeyEvent event) { 
     if (keyCode == KeyEvent.KEYCODE_BACK) { 

      AlertDialog.Builder alertbox = new AlertDialog.Builder(this); 
      alertbox.setTitle(res.getString("Title")); 
      alertbox.setMessage(res.getString("Exit")); 
      alertbox.setIcon(R.drawable.logo); 
      alertbox.setPositiveButton(res.getString(R.string.Yes), 
        new DialogInterface.OnClickListener() { 
         public void onClick(DialogInterface arg0, int arg1) { 
          exit(); 
         } 
        }); 

      alertbox.setNeutralButton(res.getString(R.string.No), 
        new DialogInterface.OnClickListener() { 
         public void onClick(DialogInterface arg0, int arg1) { 
         } 
        }); 

      alertbox.show(); 
      return true; 
     } 

     return super.onKeyDown(keyCode, event); 
    } 

    private void exit() { 
     moveTaskToBack(true); 

    } 
1

로 이동 사용자를 요청하려면 alertdialog의 버튼 누름

Toast()을 사용하는 경우 Toast()이 표시된 후 단추를 누르시면 finish()이 표시됩니다.

0

버튼 onClick()finish() 메서드를 적용한 후 startActivity() 호출 후 아래와 같이 finish 메서드를 적용 할 수 있습니다.

startActivity(intent obj); 
finish();