-2

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

@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

4 回答 4

1

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

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

于 2013-04-17T16:01:08.410 回答
1

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

于 2013-06-15T15:33:30.717 回答
0

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

于 2013-04-22T15:25:13.630 回答
0

您的代码中的问题是Intent.FLAG_ACTIVITY_NEW_TASK不会删除您当前的任务。在此处阅读有关它的更多信息:任务和返回堆栈 | 安卓开发者

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

如果设置,并且正在启动的活动已经在当前任务中运行,那么不会启动该活动的新实例,而是关闭它上面的所有其他活动,并且此 Intent 将被传递到(现在顶部)作为新意图的旧活动。

于 2014-04-03T20:28:50.793 回答