내 앱에 시스템 로그인이 있는데, 사용자가 자신의 계정에 로그인하면 다시 스택이 지워지므로 로그를 볼 수 없도록 만들고 싶습니다. 기본 액티비티의 로그 아웃 버튼을 클릭하지 않는 한 나는 어떻게 이것을 성취 할 것인가?인 텐트로드에서 백 스택을 지우는 방법
모든 도움을 주시면 대단히 감사하겠습니다.
내 앱에 시스템 로그인이 있는데, 사용자가 자신의 계정에 로그인하면 다시 스택이 지워지므로 로그를 볼 수 없도록 만들고 싶습니다. 기본 액티비티의 로그 아웃 버튼을 클릭하지 않는 한 나는 어떻게 이것을 성취 할 것인가?인 텐트로드에서 백 스택을 지우는 방법
모든 도움을 주시면 대단히 감사하겠습니다.
finish()
방법을 사용하여 의도 한 후에 로그인 활동을 파괴하십시오. 스택에서 제거됩니다. 당신은 스택이 활동을 넣어하지 않으려면
Intent i = new Intent(this, YourAccountActivity.class);
startActivity(i);
// destroying your current activity
finish();
, 당신은 또한 당신이 활동을 변경하는 경우,이 활동이 될 수 없습니다
android:noHistory="true"
AndroidManifest.xml
에서 사용할 수있는 스택.
"true"값은 활동이 내역 추적을 남기지 않음을 의미합니다. 작업의 작업 스택에 남아 있지 않으므로 사용자는 작업 스택으로 돌아갈 수 없습니다.
또 다른 옵션은 IntentFlags를 사용하는 것입니다.
Intent i = new Intent(this, YourAccountActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);
동시에 두 작업을 수동으로 끝내려면 ApplicationContext 클래스를 사용할 수 있습니다.
MyApplicationClass.javapublic Activity homeActivity = null;
public Activity otherActivity = null;
당신은 당신이에서 onCreate에서 할 수있는 Homeactivity() 메소드를 시작할 때 : otheractivity의에서 onCreate() 메소드에서
HomeActivity.java
private MyApplicationClass myApplication = null;
myApplication = (MyApplicationClass)getApplicationContext();
myApplication.homeActivity = HomeActivity.this;
같은 :
otheractivity.java
private MyApplicationClass myApplication = null;
myApplication = (MyApplicationClass)getApplicationContext();
myApplication.otherActivity = otheractivity.this;
그리고 당신은 당신이 방법처럼 끝낼 수 빠른 답장을 보내 주셔서 감사합니다 오프
myApplication.homeActivity.finish();
myApplication.otherActivity.finish();
도와 주셔서 대단히 감사합니다. 정말 감사. –
첫째 .. 다음 동시에 Homeactivity 및 otheractivity을 마무리 할 때. 도움에 정말 감사드립니다. 나는 한 가지 질문을 가지고있다 : 나는 주 활동 전에 두 가지 활동을 갖고 있으며 동시에 두 활동을 모두 정리하고 싶은가? –
내 의견에 대한 내 대답을 편집했습니다 –
대단히 감사합니다! 그것은 넘어서 서 넘어 가고 ... 많이 감사합니다. 나는 지금 내가 뒤의 스택에 대해 잘 알고 있다고 느낀다. –