2011-08-11 9 views
3

많은 활동을 통과하는 앱을 디자인했습니다. 모든 페이지에서 로그 아웃 버튼을 설정했습니다. 로그 아웃을 클릭하면 현재 활동을 마치고 FLAG_ACTIVITY_CLEAR_TOP을 사용하고 로그인 활동을 시작합니다. 그것은 작동하지만 뒤로 버튼을 누르면 로그 아웃 한 마지막 활동이로드됩니다.내 애플리케이션에서 로그 아웃

몇 가지 제안 사항에서 모든 활동이 완료되어야하고 다음 활동을 시작해야한다는 것을 알았습니다. 그러나 나는 그것을하지 않습니다 왜냐하면 내가 뒤로 버튼을 누르면 활동이 다시로드되어야하기 때문에 이미 완료된 이전 활동에서 일부 데이터를 가져와야하기 때문입니다.

실제로 원하는 것은 페이지에서 내 앱에서 로그 아웃하고 싶습니다. 제발 어떤 제안.

답변

0

나는 또한 FLAG_ACTIVITY_NEW_TASK을 추가하여이를 관리했으며, 내 AndroidManifest에는 내가 시작한 활동에도 android:launchMode="singleTop"이 있습니다. 최선의 접근 방법인지는 확실치 않지만 작동합니다.

+0

감사합니다. 이미 이러한 상황을 시도했지만 사용하지 않았습니다. – adithi

0

어쩌면 당신의 활동을 끝내고 다음 활동을 시작할 수 있습니다.

뒤로 버튼의 당신은 너무 startActivityOnresult()

을 사용할 수 있으며 그래서 당신은 어디 앱에서에서 로그 아웃해야합니다.

0

각 액티비티의 onResume에 사용자가 로그인했는지 확인하고 (없는 경우 로그인 액티비티로 전달하는) 코드 스 니펫 (또는 유틸리티 메소드 호출)을 추가 할 수도 있습니다 . 이렇게하지 않으면 로그인하지 않고도 아무 활동도 사용할 수 없으며 뒤로 버튼 문제도 해결할 수 있습니다.

0

귀하의 모든 활동이 속한 Application의 하위 클래스를 생성하십시오. 그 안에 사용자가 로그 아웃 할 때 완료해야하는 활동의 정적 콜렉션을 유지하십시오. 완성해야 할 각 Activity를 onCreate 메소드 내 컬렉션에 추가하십시오. 사용자가 로그 아웃하면 컬렉션을 반복하고 각 Activity에서 finish()를 호출합니다.