내 앱에 로그인 화면이 있습니다. 이제는 뒤로 버튼을 눌러 로그인 화면으로 돌아갈 수 있습니다. 나는 그런 일이 일어나기를 원하지 않는다.활동 중지 및 다시 시작 (Android)
일단 사용자가 로그인하면 앱에서 로그인 활동을 중지해야 사용자가 다시 로그인 할 수 있습니다. 메뉴 화면에서 이미 중지 된 후 로그인 활동을 다시 시작하는 데 사용하려는 로그 아웃 버튼이 있습니다.
나는 한시간 동안보고 시험을 해왔고 대답을 찾을 수 없습니다.
내 앱에 로그인 화면이 있습니다. 이제는 뒤로 버튼을 눌러 로그인 화면으로 돌아갈 수 있습니다. 나는 그런 일이 일어나기를 원하지 않는다.활동 중지 및 다시 시작 (Android)
일단 사용자가 로그인하면 앱에서 로그인 활동을 중지해야 사용자가 다시 로그인 할 수 있습니다. 메뉴 화면에서 이미 중지 된 후 로그인 활동을 다시 시작하는 데 사용하려는 로그 아웃 버튼이 있습니다.
나는 한시간 동안보고 시험을 해왔고 대답을 찾을 수 없습니다.
, 단순히 다음과 같이 응용 프로그램 매니페스트 android:excludeFromRecents
attribure에서 활동 선언에 추가하여, 최근 스택에서 제외 :
<activity android:name=".Login" android:excludeFromRecents="true"></activity>
다음 일단 귀하의 로그인 활동이 완료되면, 당신은 (아마도) 당신의 앱의 다음 활동으로갑니다. 당신은 새 미사일을 startActivity()
를 호출 일단, 간단하게 로그인 actvity을 완료 finish();
를 호출하십시오 manifest for your login activity에
...
startActivity(intentToLaunchNextActivity);
finish();
로그인이 성공하면 Actvity.finish()
으로 전화 할 수 있습니다.
로그인 활동을 다시 시작하려면 Activity.startActivity(intent)
을 사용하십시오.
시도 중 하나
로그인 사용자의 로그인 활동에 성공 후, 다음 활동을 실행 한 후 활동에 대한 마무리()를 호출합니다. 이것은 효과적으로 로그인 활동을 파괴하고 활동 백 스택에서 제거합니다 (그래서 더 이상 탐색 할 수 없습니다). 예 :
onLoginComplete(){
startActivity(new Intent(this, NextActivity.class));
finish();
}
또는 로그인 활동의 onResume에서 로그인 상태를 확인하고 true이면 완료하십시오. 이미 로그인 한 경우 사용자가이 활동에 올 때마다이 방법이 종료됩니다 (그리고 그들은 실제로 그것을 볼 수 없을 것입니다) 뭔가처럼 :.
@Override
public void onResume(){
super.onResume();
if(isLoggedIn())
finish();
}
당신은 성공적인 로그인시 로그인 화면을 떠날 때 finish()
으로 전화하면 스택에서 자신의 활약이 제거됩니다.
귀하의 로그 아웃 버튼은 다음과 같이 로그인 페이지를 다시 호출해야합니다 :
Intent intent = new Intent(TheCurrentActivity.this, YourLoginScreen.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();
이 로그인 화면을로드하고 로그 아웃 한 후 다시 갈 수 없도록 현재 활동 스택을 취소합니다. 당신은 사용자가 활동을 로그인 돌아갈 수 있기를 원하지 않는 경우
설정 noHistory = true
. 이렇게하면 활동이 백 스택에 저장되지 않습니다.