清除活动堆栈并在Android中开始新的活动

我的问题与这些类型的问题有所不同.我需要删除或清除我的活动堆栈,然后开始一个新的活动.我不认为这是一个clear_top标志问题.我正在解释一个例子:

我的活动流程:

Login > Home > Screen1 > screen2 ....

我完成登录活动或使用no_history标志呼叫.所以我的活动是这样的

Login(finished)> Home [bottom of the stack now] > Screen1 > Screen2[top of the stack]

我需要处理会话错误.如果任何会话错误发生在任何时候,我需要回到登录活动.但请记住,我没有堆栈的登录活动.所以clear_top不行.

如果在Screen2中发生任何会话错误,我需要清除完整的堆栈(screen2,screen1,home),然后开始登录活动.所以后退按钮在登录活动中会关闭我的应用程序.

有没有办法清除活动堆栈?

提前致谢

用这个

Intent i = new Intent(yourScreen.this,Home.class);
        i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        i.putExtra("EXIT", true);
        startActivity(i);

并在家庭课的onCreate,做这个来检查,

if (getIntent().getBooleanExtra("EXIT", false)) 
    {
        Intent i = new Intent(Home.this,Login.class);
        startActivity(i);
        finish();
    }

这将基本上做什么是无论你是什么活动,你可以用清晰的顶部标志来调用主屏幕.在主屏幕中,onCreate方法中有一个检查条件,这将有助于清除堆栈并带您进入登录屏幕.现在在登录屏幕上,如果您按下按钮,您将退出应用程序,因为堆栈被清除..

让我知道问题是否仍然存在?

相关文章
相关标签/搜索