在onStartCommand()完成后,服务是否自动停止?

时间:2013-07-28 07:10:49

标签: android service

当我致电this.startService(new Intent(this, Some_Service.class));时 我知道onCreate()被调用,然后是onStartCommand()

如果onStartCommand()中的代码完成了会发生什么? Service会自动调用onDestroy()来阻止自己吗? 或者我必须致电this.stopService(new Intent(this, Some_Service.class));来实现这一目标吗?

2 个答案:

答案 0 :(得分:2)

如果您通过拨打startService()来启动服务,则必须致电stopService()stopSelf()以停止服务。如果您想在完成某项工作后停止服务,则可能需要使用IntentService

答案 1 :(得分:0)

onStartCommand() - 当另一个组件(例如活动)通过调用startService()请求启动服务时,系统会调用此方法。一旦执行此方法,服务就会启动并可以无限期地在后台运行。如果您实施此功能,则您有责任在工作完成后停止服务,方法是致电stopSelf()stopService()。 (如果您只想提供绑定,则无需实现此方法。)

Read Here