防止Android应用程序被关闭/停止

3

有没有一种方法可以防止应用程序关闭?我可以在OnDestroy中实现吗?


@raju 我认为他的意思是,他能否防止用户在尝试关闭时关闭它。 - dymmeh
明白了... 只是读到了“你可以防止应用程序关闭的一些方法”... - 5hssba
3个回答

4
如果你想知道如何防止应用程序被关闭,那是不可能的。当系统资源不足或用户通过任务管理器或ICS中的内置系统关闭时,系统有权关闭应用程序。OnDestroy只是通知你应用程序已经关闭,你无法在此处“恢复”应用程序。

例如,三星或谷歌是如何做到的?您无法关闭初始设置GUI,主页按钮无法使用。 - Mustafa
三星和谷歌可以访问内部API并且基本上可以为所欲为。在这种情况下,他们的应用程序不应被视为参考。 - azertiti

3

如果设备资源不足,内核可能会强制关闭应用程序,您无法防止其关闭。通常,在系统资源不足时,内核会通知应用程序它希望关闭它。允许应用程序执行其onDestroy方法,然后关闭。

您的onDestroy方法可以用于保存状态。以下是一个示例:

protected void onDestroy() {        
   super.onDestroy();
   //state is saved here.
}

然而,值得记住的是,并不保证onDestroy()方法会执行。内核可能会或可能不会给它执行的时间。您应该查看Activity生命周期以获取更多信息。


1
如果您能将kernel替换为ActivityManager之类的东西,我会睡得更好 :) - zapl

3

不确定您的问题是什么,我会尝试解释并认为这是您需要的:

如果您希望应用程序在运行过程中继续某个进程而不受应用程序状态的影响,请创建一个前台服务来运行该进程,并在需要时将其绑定到应用程序中。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接