2011-05-01 37 views
0

如何从代码中完全杀死应用程序?Android 2.2 SDK完全杀死应用程序

我知道这是可能的,因为当你点击从愤怒的小鸟的退出按钮,然后检查android任务杀手的事情,它已经没有了......但我无法得到我自己的应用程序来做到这一点= /它仍然挂起各地和保存的是最后state..which我不想

我曾试图与没有成功:

@Override 
public void onBackPressed() 
{ 
    // do something on back. 
    this.finish(); 
    return; 
} 

感谢这个

+4

请查看[this](http://stackoverflow.com/questions/2033914/quitting-an-application-is-that-frowned-upon/2034238#2034238)帖子,了解为什么强制关闭的彻底和深思熟虑的回复一般来说,不是你想做的事。你有这样做的理由吗? – 2011-05-01 02:32:08

+0

为什么我不会?为什么我不应该在应该终止的时候告诉我的应用程序?^_- @回应:兰顿。没有一个有效的事实。 – bitwise 2011-05-01 04:14:06

回答

3

做你想要什么,只需调用System.exit(0) 。强烈建议你不要这样做。

+0

这是我不想提供的解决方案,因为它不被推荐,至少你提到了:) – MByD 2011-05-01 04:44:32

+3

请注意,调用System.exit(0)将无法按预期工作(将生成一个新进程)如果存在是任何其他正在运行的服务或活动。在这种情况下,您应该先完成其他组件。 – 2011-05-01 07:02:12

+1

@MByD不建议这样做,但隐藏信息无济于事。如果尼克想写一个行为不好的应用程序,那是他的选择。 – 2011-05-01 17:53:49

0

任何帮助FYI结束码不删对象本身。它只是在删除前需要清理对象时才运行。逻辑删除=>调用完成(),因此相反不需要为真(在这种情况下不是)。

我怀疑你正在寻找的应该实际上应该在android清单中指定,它可能是android:noHist option

+0

我尝试了noHist选项,但该应用程序仍然没有终止并重置=/ – bitwise 2011-05-01 03:58:37

0

你不能以合法的方式完全杀死你的应用程序,这有一些黑客,但基本上没有。 Android会决定何时杀死您的应用。

我认为这个链接将帮助您做最,并得到你想要的东西,但是这不会杀死您的应用程序:http://smartandroidians.blogspot.com/2010/01/exiting-android-application.html

+0

那么愤怒的小鸟如何终止它的行为呢?是因为它足够大的内存让操作系统决定删除它吗?因为您可以在手机上点击主页按钮而不起作用,但退出按钮会导致应用程序终止并被完全销毁。 – bitwise 2011-05-01 03:09:28

+0

我认为我分享的链接可以帮助您理解这一点。我实现了一个真正杀死自己的应用,但这是一个非常具体的用途,而不是分发。如果您只是想下次参加主要活动,请查看我分享的链接。 – MByD 2011-05-01 03:12:35

+0

当然你可以,只需调用System.exit(0)。 – 2011-05-01 03:43:50