2017-05-18 1 views
-4

내 응용 프로그램에서 활동의 진행 버튼을 클릭하면 사용자가 로그인했는지 여부를 확인합니다. 사용자가 로그인하면 이전에 있었던 활동의 모든 기록 된 정보와 함께 다음 페이지 (SomeActivity)로 이동하지만 로그인하지 않은 경우 LoginActivity가 시작되고 로그인 후에 다음 단계가 진행됩니다.Android에서 로그인 활동 후 현재 활동 다시 시작

하지만 문제는 LoginActivity에서 로그인 성공 후 내가하고 싶지 않은 HomeActivity의 의도를 실행하고 있다는 것입니다. 로그인 성공 후 동일한 활동 (LoginActivity가 시작된 곳)이 열려 있어야합니다.

+0

하면 사용자가 로그인하지 않는 경우 화면을 로그인 리디렉션에 가정하자 사용자가 응용 프로그램이 종료 right.so하면 홈 화면으로 리디렉션에 로그인 한 사용자가있는 경우 공개 된 경우 나, 먼저 명확히하자 직접 로그인 한 상태에서 홈 화면으로 리디렉션해야합니까? –

+1

코드 공유! – JavadKhan

+0

아니요 ... 예를 들어 설명해 드리겠습니다. 필수 입력란을 모두 입력하고 결제를 진행할 수 있지만 로그인하지 않은 채 충전 앱이 있다고 가정하고 로그인 활동이 시작되고 로그인이 다시 성공하면 모든 정보가 포함 된 마지막 활동이 시작됩니다. –

답변

0

startActivity()를 호출하는 대신 로그인 성공 인 경우 finish()를 호출하면 백 스택에서 이전 작업으로 이동합니다.

LoginActivity를 열기 위해 startActivity()를 호출 한 후에 finish()를 호출하지 마십시오.

0

해당 사용자가 로그인이 다음 로그인 activtiy 호출에 성공하고 활동 스택의 마지막 활동이 시작됩니다 때 로그인 활동

Intent intent =new Intent(context, LoginActivity.class); 
startActivity(intent); 

를 엽니 의도 다음 사용 기록되어 있지 않은 경우 클릭에서 확인할.

LoginActivity.this.finish(); 
+0

LoginActivity에 대한 finish() 호출 후 첫 번째 활동의 onCreate()가 다시 호출되고 이전에 저장 한 데이터가 삭제되므로 해당 활동에 저장된 데이터는 무엇입니까 –

+0

이전 액티비티의 LoginActivity OnStart() 메소드를 호출하여 finish()를 호출하면 OnStop() 데이터를 저장하고 onStart()를 검색 할 수 있습니다. –