Android:退出应用程序

时间:2011-10-11 13:06:27

标签: android

我为这个话题提出了不同的问题,但仍然没有什么疑问。

Que One:在我的应用程序中,我有多个活动A-> B-> C

A-> B2-> C2 .. A-B3-C3 ...

是流程。我为每个活动都有“返回”和“主页”按钮,分别转到上一个活动和A。

最初我将这些作为“单一任务”发起,一切似乎都很好。

现在我想处理错误情况,因此退出应用程序出现了。 因此,从我的阅读中我理解将每项活动作为单一任务启动并非“好” (我不清楚原因或我错了) 因此,我将所有活动启动模式更改为标准 因此,我注意到的一件事是在“回”或“回家”比以前慢的行为之间切换。所以我在这里做正确的事情

阙二:现在我有我的代码

    if (some error)
    {
        this.finish()       
    }

    code line;

这是我的根活动A,将在启动任何其他活动之前被点击 但我看到的是完成执行但在应用程序真正退出之前,代码行被执行导致一些异常。我预期的行为是,一旦我调用完成,就像从这个活动返回而不再执行此处的代码

Que 3:现在,当我们在root活动上调用完成时,谁将实际处理它。

2 个答案:

答案 0 :(得分:7)

Intent i = new Intent();
i.setAction(Intent.ACTION_MAIN);
i.addCategory(Intent.CATEGORY_HOME);
ListActivity.this.startActivity(i); 
finish();   

答案 1 :(得分:0)

关闭所有之前的活动,如下所示:

    Intent intent = new Intent(this, MainActivity.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    intent.putExtra("Exit me", true);
    startActivity(intent);
    finish();

然后在MainActivity onCreate()方法中添加此内容以完成MainActivity

    setContentView(R.layout.main_layout);

    if( getIntent().getBooleanExtra("Exit me", false)){
        finish();
        return; // add this to prevent from doing unnecessary stuffs
    }