后台服务是否限制为 10 分钟,还是可以运行数小时?用户有什么方法可以在后台服务运行时关闭它?
问问题
1305 次
2 回答
2
取决于代码,您可以永远运行后台服务,也可以在应用退出后立即关闭它。除此之外,如果它在几分钟内没有执行任何操作,操作系统本身可以关闭后台服务。
于 2012-07-16T06:28:48.877 回答
1
系统可以运行服务有两个原因。如果有人调用 Context.startService() ,那么系统将检索服务(创建它并在需要时调用其 onCreate() 方法),然后使用客户端提供的参数调用其 onStartCommand(Intent, int, int) 方法。此时服务将继续运行,直到调用 Context.stopService() 或 stopSelf()。请注意,对 Context.startService() 的多次调用不会嵌套(尽管它们确实会导致对 onStartCommand() 的多次相应调用),因此无论启动多少次服务都将停止一次 Context.stopService() 或 stopSelf () 叫做; 但是,服务可以使用它们的 stopSelf(int) 方法来确保在处理启动的意图之前不会停止服务。
看到这个链接
http://developer.android.com/guide/components/services.html#Lifecycle
于 2012-07-16T06:48:02.903 回答