onDestroy()
html
當服務再也不使用且將被銷燬時,系統將調用此方法。服務應該實現此方法來清理全部資源,如線程、註冊的偵聽器、接收器等。 這是服務接收的最後一個調用。android
<service>
元素 請始終使用顯式 Intent 啓動或綁定 Service
,且不要爲服務聲明 Intent 過濾器。能夠經過添加 android:exported
屬性並將其設置爲 "false"
,確保服務僅適用於您的應用。這能夠有效阻止其餘應用啓動您的服務,即使在使用顯式 Intent 時也如此。app
啓動服務由另外一個組件經過調用 startService()
啓動,這會致使調用服務的 onStartCommand()
方法。ide
服務啓動以後,其生命週期即獨立於啓動它的組件,而且能夠在後臺無限期地運行,即便啓動服務的組件已被銷燬也不受影響。 所以,服務應經過調用stopSelf()
結束工做來自行中止運行,或者由另外一個組件經過調用 stopService()
來中止它。ui
應用組件(如 Activity)能夠經過調用 startService()
方法並傳遞 Intent
對象(指定服務幷包含待使用服務的全部數據)來啓動服務。服務經過onStartCommand()
方法接收此 Intent
。google
這是 Service
的子類,它使用工做線程逐一處理全部啓動請求。若是您不要求服務同時處理多個請求,這是最好的選擇。 您只需實現 onHandleIntent()
方法便可,該方法會接收每一個啓動請求的 Intent,使您可以執行後臺工做。code