2012-10-04 2 views
0

내 안드로이드 앱에 문제가 있습니다. 설정 화면에서 로그 아웃 기능이 있습니다. 로그 아웃하면 로그인 화면이 열립니다. 하지만 뒤로 버튼을 누르면 설정 화면이 표시됩니다.이 페이지는 로그인하지 않아도 앱 내부로 이동하므로 필요하지 않습니다. 다음 코드를 사용하고 있지만 작동하지 않습니다. 왜냐하면 로그 아웃 할 때 LoginActiviy가 존재하지 않기 때문입니다.android에서 새로운 활동을 호출 할 때 스택에서 플로우의 모든 활동을 제거하는 방법

Intent intent= new Intent(HomeSetting.this,LoginActivity.class); 
        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
        startActivity(intent); 

제발 나에게 LoginActivity가 새로운 활동으로 전화를 받으면 기록에있는 모든 활동이 파괴 될 것입니다.

+0

는 왜 두 번째 화면을 호출하는 동안에 마무리()를 호출하지 말아. –

+0

많은 화면이 흐르기 때문에 모든 화면에 finish()를 설정할 수 없습니다. –

답변

0

매니페스트 파일의 noHistory Activity 속성을 true으로 설정할 수 있습니다. 그러면 백그라운드로 이동할 때 Activity satck에서 제거됩니다. 다음과 같이

0

이 문제를 방지하려면 플래그를 설정해야합니다

 Intent intent= new Intent(getApplicationContext() , LoginActivity.class); 
       intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
       startActivity(intent); 
+0

Plz 내 업데이트 된 질문보기. –

+0

당신은 HomeSetting.this 대신에 getApplicationContext()를 주려고 했습니까? 그것은 나를 위해 작동합니다. –

+0

네, 시도했습니다. LoginActivity가 Activity 스택이 아닌 새로운 Activity로 호출을 가져 오므로 작동하지 않습니다.이 시나리오의 솔루션을 찾고 있습니다. 스택에서 모든 활동 기록을 지울 수 있습니다. 새로운 의도를 시작합니다. –

관련 문제