Android 如何在意图加载时清除后堆栈
我的应用程序中有一个登录系统,我希望这样,一旦用户登录到他们的帐户,后台堆栈就会被清除,因此他们无法看到登录活动,除非他们单击主活动中的注销按钮。我将如何做到这一点 任何帮助都将不胜感激 使用Android 如何在意图加载时清除后堆栈,android,back-stack,Android,Back Stack,我的应用程序中有一个登录系统,我希望这样,一旦用户登录到他们的帐户,后台堆栈就会被清除,因此他们无法看到登录活动,除非他们单击主活动中的注销按钮。我将如何做到这一点 任何帮助都将不胜感激 使用finish()。它也将从堆栈中移除 Intent i = new Intent(this, YourAccountActivity.class); startActivity(i); // destroying your current activity finish(); 如果不想将此活动放入堆栈中
finish()。它也将从堆栈中移除
Intent i = new Intent(this, YourAccountActivity.class);
startActivity(i);
// destroying your current activity
finish();
如果不想将此活动放入堆栈中,也可以使用
AndroidManifest.xml中的android:noHistory=“true”
更改活动时,此活动将不在堆栈中
值“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);
使用finish()。它也将从堆栈中移除
Intent i = new Intent(this, YourAccountActivity.class);
startActivity(i);
// destroying your current activity
finish();
如果不想将此活动放入堆栈中,也可以使用
AndroidManifest.xml中的android:noHistory=“true”
更改活动时,此活动将不在堆栈中
值“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);
使用finish()。它也将从堆栈中移除
Intent i = new Intent(this, YourAccountActivity.class);
startActivity(i);
// destroying your current activity
finish();
如果不想将此活动放入堆栈中,也可以使用
AndroidManifest.xml中的android:noHistory=“true”
更改活动时,此活动将不在堆栈中
值“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);
使用finish()。它也将从堆栈中移除
Intent i = new Intent(this, YourAccountActivity.class);
startActivity(i);
// destroying your current activity
finish();
如果不想将此活动放入堆栈中,也可以使用
AndroidManifest.xml中的android:noHistory=“true”
更改活动时,此活动将不在堆栈中
值“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.java
public Activity homeActivity = null;
public Activity otherActivity = null;
启动Homeactivity时,可以在onCreate()方法中执行以下操作:
HomeActivity.java
private MyApplicationClass myApplication = null;
myApplication = (MyApplicationClass )getApplicationContext();
myApplication.homeActivity = HomeActivity.this;
private MyApplicationClass myApplication = null;
myApplication = (MyApplicationClass )getApplicationContext();
myApplication.otherActivity = otheractivity.this;
在otheractivity的onCreate()方法中相同:
otheractivity.java
private MyApplicationClass myApplication = null;
myApplication = (MyApplicationClass )getApplicationContext();
myApplication.homeActivity = HomeActivity.this;
private MyApplicationClass myApplication = null;
myApplication = (MyApplicationClass )getApplicationContext();
myApplication.otherActivity = otheractivity.this;
当你想同时完成家庭活动和其他活动时
你可以这样结束
myApplication.homeActivity.finish();
myApplication.otherActivity.finish();
如果希望同时手动完成两个活动,则可以使用ApplicationContext类和该定义中的
MyApplicationClass.java
public Activity homeActivity = null;
public Activity otherActivity = null;
启动Homeactivity时,可以在onCreate()方法中执行以下操作:
HomeActivity.java
private MyApplicationClass myApplication = null;
myApplication = (MyApplicationClass )getApplicationContext();
myApplication.homeActivity = HomeActivity.this;
private MyApplicationClass myApplication = null;
myApplication = (MyApplicationClass )getApplicationContext();
myApplication.otherActivity = otheractivity.this;
在otheractivity的onCreate()方法中相同:
otheractivity.java
private MyApplicationClass myApplication = null;
myApplication = (MyApplicationClass )getApplicationContext();
myApplication.homeActivity = HomeActivity.this;
private MyApplicationClass myApplication = null;
myApplication = (MyApplicationClass )getApplicationContext();
myApplication.otherActivity = otheractivity.this;
当你想同时完成家庭活动和其他活动时
你可以这样结束
myApplication.homeActivity.finish();
myApplication.otherActivity.finish();
如果希望同时手动完成两个活动,则可以使用ApplicationContext类和该定义中的
MyApplicationClass.java
public Activity homeActivity = null;
public Activity otherActivity = null;
启动Homeactivity时,可以在onCreate()方法中执行以下操作:
HomeActivity.java
private MyApplicationClass myApplication = null;
myApplication = (MyApplicationClass )getApplicationContext();
myApplication.homeActivity = HomeActivity.this;
private MyApplicationClass myApplication = null;
myApplication = (MyApplicationClass )getApplicationContext();
myApplication.otherActivity = otheractivity.this;
在otheractivity的onCreate()方法中相同:
otheractivity.java
private MyApplicationClass myApplication = null;
myApplication = (MyApplicationClass )getApplicationContext();
myApplication.homeActivity = HomeActivity.this;
private MyApplicationClass myApplication = null;
myApplication = (MyApplicationClass )getApplicationContext();
myApplication.otherActivity = otheractivity.this;
当你想同时完成家庭活动和其他活动时
你可以这样结束
myApplication.homeActivity.finish();
myApplication.otherActivity.finish();
如果希望同时手动完成两个活动,则可以使用ApplicationContext类和该定义中的
MyApplicationClass.java
public Activity homeActivity = null;
public Activity otherActivity = null;
启动Homeactivity时,可以在onCreate()方法中执行以下操作:
HomeActivity.java
private MyApplicationClass myApplication = null;
myApplication = (MyApplicationClass )getApplicationContext();
myApplication.homeActivity = HomeActivity.this;
private MyApplicationClass myApplication = null;
myApplication = (MyApplicationClass )getApplicationContext();
myApplication.otherActivity = otheractivity.this;
在otheractivity的onCreate()方法中相同:
otheractivity.java
private MyApplicationClass myApplication = null;
myApplication = (MyApplicationClass )getApplicationContext();
myApplication.homeActivity = HomeActivity.this;
private MyApplicationClass myApplication = null;
myApplication = (MyApplicationClass )getApplicationContext();
myApplication.otherActivity = otheractivity.this;
当你想同时完成家庭活动和其他活动时
你可以这样结束
myApplication.homeActivity.finish();
myApplication.otherActivity.finish();
首先谢谢你的快速回复。我真的很感谢你的帮助。我确实有一个问题:如果在主要活动之前我有两个活动,并且我想同时清除这两个活动,会怎么样?非常感谢!这超出了。。。非常感谢。我现在觉得我已经很好地理解了这个问题。首先谢谢你的快速回复。我真的很感谢你的帮助。我确实有一个问题:如果在主要活动之前我有两个活动,并且我想同时清除这两个活动,会怎么样?非常感谢!这超出了。。。非常感谢。我现在觉得我已经很好地理解了这个问题。首先谢谢你的快速回复。我真的很感谢你的帮助。我确实有一个问题:如果在主要活动之前我有两个活动,并且我想同时清除这两个活动,会怎么样?非常感谢!这超出了。。。非常感谢。我现在觉得我已经很好地理解了这个问题。首先谢谢你的快速回复。我真的很感谢你的帮助。我确实有一个问题:如果在主要活动之前我有两个活动,并且我想同时清除这两个活动,会怎么样?非常感谢!这超出了。。。非常感谢。我现在觉得我对后堆栈有了很好的理解。