将应用程序发送到iPhone后台

3

在iPhone上,是否有可能通过编程将应用程序发送到后台?


我仍然想知道为什么这不可能。我希望有应用程序可以让我将它们移动到后台,甚至退出它们而无需任何按钮! - Alex Cio
4个回答

3
在iOS 4.0下,如果另一个应用程序进入前台并且有足够的资源来保持您的应用程序在后台运行,则您的应用程序将被放置在后台。您可以向Safari或已注册处理程序的其他应用程序发送URL,并希望操作系统在启动Safari(或处理URL的任何其他应用程序)后将您的应用程序放在后台。如果您很幸运(通常会经常发生这种情况),则会将您的应用程序以编程方式发送到后台。

当然,您的应用程序是否在后台运行还是暂停取决于其他事情(这些必须在iOS 4.x上注册)。

“Background”这个词在iOS上有非常具体的含义,它并不是你所描述的那样。你所指的是“inactive(非活动状态)”。一个非活动状态的应用程序仍在运行。而一个后台应用程序则没有在运行。请参见下面的答案。 - Emmanuel

1

不可能。只有iOS可以将您的应用程序放在后台。

请注意,“后台”和“非活动”之间存在很多混淆。“非活动”应用程序是指未显示在GUI上但仍在运行的应用程序。

从技术上讲,后台应用程序并未运行;它是休眠的。根据使用的模式,后台应用程序可以接收信号并“唤醒”。有关更多详细信息,请参阅背景模式: https://developer.apple.com/library/ios/documentation/general/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html#//apple_ref/doc/uid/TP40009252-SW22

但是,后台应用程序也可以在任何时候突然终止。事实上,我总是把后台应用程序视为已终止。因此,在进入后台之前,您应始终清理应用程序,并在进入前台时重新初始化它。

这是关于该主题的必读文章: https://developer.apple.com/library/ios/documentation/iphone/conceptual/iphoneosprogrammingguide/ManagingYourApplicationsFlow/ManagingYourApplicationsFlow.html


1

苹果确实允许应用程序在编程上自行退出(杀死自己)。但这只是作为最后的手段,当发生某些无法恢复的问题时才使用。

在其他情况下,应用程序应该保持在前台运行,直到用户按下主页按钮或应用程序打开另一个应用程序并得到用户同意。

实际上,您不想杀死应用程序,但将其移至后台并返回主屏幕会留下非常相似的印象。这就是为什么我认为苹果不会批准它,并且据我所知,没有任何方法可以在不打开另一个应用程序的情况下将应用程序编程式地移至后台。



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