如何破坏活动

时间:2013-04-17 15:57:27

标签: java android android-activity destroy

事实上,我是Android App Development的新手。在我的应用程序中,我有几个活动,我已经为我的用户提供了退出选项菜单,以便能够离开应用程序。但有一个问题。当他们点击退出按钮时,他们可以离开应用程序但是当他们第二次进入应用程序时,他们最后一次离开的页面将被启动。 这是我的代码:

@Override
public boolean onMenuItemSelected(int featureId, MenuItem item) {
    switch (item.getItemId()) {
        case 0 :
            Intent intent = new Intent(Intent.ACTION_MAIN);
            intent.addCategory(Intent.CATEGORY_HOME);
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            startActivity(intent);
            finish();
            Toast.makeText(this, "Goodbye Dear", Toast.LENGTH_LONG).show();
            break;

4 个答案:

答案 0 :(得分:1)

Android Activity有两种方法onPauseonDestroy,您可以在其中进行必要的清理。

http://developer.android.com/reference/android/app/Activity.html

答案 1 :(得分:1)

不使用finish(),而是使用System.exit(0);

答案 2 :(得分:0)

您必须覆盖活动中的onPause和/或onDestroy方法,并在这些方法中删除您的视图。

答案 3 :(得分:0)

您的代码中的问题是Intent.FLAG_ACTIVITY_NEW_TASK不会删除您当前的任务。在此处阅读更多相关信息:Task and Back Stack | Android Developers

尝试使用Intent.FLAG_ACTIVITY_CLEAR_TOP。从文档中我们可以看出这给出了期望的行为。

  

如果设置,则正在启动的活动已在运行中   当前任务,然后而不是启动它的新实例   活动,其上的所有其他活动将被关闭   这个意图将作为一个传递到(现在在顶部)旧活动   新的意图。