事实上,我是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;
答案 0 :(得分:1)
Android Activity有两种方法onPause
和onDestroy
,您可以在其中进行必要的清理。
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
。从文档中我们可以看出这给出了期望的行为。
如果设置,则正在启动的活动已在运行中 当前任务,然后而不是启动它的新实例 活动,其上的所有其他活动将被关闭 这个意图将作为一个传递到(现在在顶部)旧活动 新的意图。