当我致电this.startService(new Intent(this, Some_Service.class));
时
我知道onCreate()
被调用,然后是onStartCommand()
。
如果onStartCommand()
中的代码完成了会发生什么?
Service
会自动调用onDestroy()
来阻止自己吗?
或者我必须致电this.stopService(new Intent(this, Some_Service.class));
来实现这一目标吗?
答案 0 :(得分:2)
如果您通过拨打startService()
来启动服务,则必须致电stopService()
或stopSelf()
以停止服务。如果您想在完成某项工作后停止服务,则可能需要使用IntentService
。
答案 1 :(得分:0)
onStartCommand()
-
当另一个组件(例如活动)通过调用startService()
请求启动服务时,系统会调用此方法。一旦执行此方法,服务就会启动并可以无限期地在后台运行。如果您实施此功能,则您有责任在工作完成后停止服务,方法是致电stopSelf()
或stopService()
。 (如果您只想提供绑定,则无需实现此方法。)