Android:调用Activity.finish()方法

Android: Calling Activity.finish() method

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
Quitting an application - is that frowned upon?

我编写了一个应用程序,并重写onbackpress()方法:

1
2
3
4
5
@Override
public void onBackPressed() {
    Log.e("Main Activity","onBackPressed!");
    exitAlert.show();//when the user click the ok button it will call the MainActivity.this.finish();
}

但是我发现当调用finish()函数的时候,我仍然可以在"设置"-->applications->runningservices"中找到这个应用程序,所以我必须手动停止它。我不明白为什么当finish()呼叫时它仍在运行。如何通过单击对话框销毁应用程序?事先谢谢!


这基本上是一个退出应用程序的副本,这是不受欢迎的吗?简而言之,当您完成一个活动时,该活动将被破坏,但不会破坏流程。这是Android编程的一个重要方面,了解它与其他平台的不同之处非常重要。阅读我链接到的文章了解更多细节。


在Android中,应用程序有一个由操作系统管理的生命周期。你不可能真正"杀死"你自己的应用程序。您的应用程序将被放置在后台,当系统确定必须回收资源时,您的应用程序将自动终止。


打电话给finish()后,别忘了给return