2013-07-28 36 views
2

當我打電話this.startService(new Intent(this, Some_Service.class));
我知道onCreate()被調用,其次是onStartCommand()服務在onStartCommand()完成後會自動停止嗎?

bur如果onStartCommand()中的代碼已完成,會發生什麼情況?
Service自動撥打onDestroy()自行停止嗎?
或者我必須撥打this.stopService(new Intent(this, Some_Service.class));來實現嗎?

回答

2

如果您通過致電startService()啓動服務,則必須致電stopService()stopSelf()停止該服務。如果您想在完成一些工作後停止服務,則可能需要使用IntentService

0

onStartCommand() - 當另一個組件(如活動)請求啓動該服務時,系統通過調用startService()來調用此方法。一旦執行此方法,服務就會啓動並可無限期地在後臺運行。如果您執行此操作,則通過致電stopSelf()stopService(),您的責任是在其工作完成後停止服務。 (如果您只想提供綁定,則不需要實現此方法。)

Read Here