2012-04-26 5 views
2

이전 버튼보다 특정 활동 (앱 시작시로드 된 활동)이 표시되도록 내 앱에서 뒤로 버튼의 기본 동작을 무시하고 싶습니다. 스택에 대한 활동. 이 작업을 수행하는 좋은 방법은 무엇입니까?뒤로 버튼 기본 활동 스택 액션 무시하기

+0

하나의 활동에서 다른 활동으로 이동할 때 모든 활동을 마칩니다. FirstActivity를 완료하지 마십시오. 이 작업 만 수행 할 수 있습니다. 이렇게하면 다른 onBackPressed() 이벤트 등을 유지 관리 할 필요가 없습니다. –

답변

3

finish() 모두 중간체 어티 니티. 당신은 단순히 그 후 마무리()를 호출 다음 활동으로 이동하는 의도를 사용하는 경우

당신은 또한 Intent.FLAG_ACTIVITY_CLEAR_TOP

@Override 
public void onBackPressed() 
{ 
Intent mIntent= new Intent(mContext, mainFirst.class) 
    startActivity(mIntent); 
    mIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
    finish(); 
} 
0
@Override 
public void onBackPressed() 
{ 
    startActivity(new Intent(mContext, FirstActivity.class)); 
    finish(); 
} 
1

를 사용할 수 있습니다. 예 : 활동 -1,2,3. 당신의 흐름은 1 -> 2 -> 3

입니다. 따라서 의도를 2에서 3으로 호출 할 때 그냥 그 의도 후에 finish()를 끝내십시오. 다시 누를 때 1로 돌아갑니다.

다른 옵션은 활동 1. 에 의도

@override onBackPressed 

하는 것입니다하지만 당신은

3
Intent myIntent = new Intent(CurrentActivity.this, NextActivity.class); 
myIntent .setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
    CurrentActivity.this.startActivity(myIntent); 

NextActivity는 해당 플래그를 사용하여 당신은 단지 한 예를 1의이 있는지 확인해야 할 것이다 귀하의 주요 하나