android 四大組件之Service(6) 粘性與非粘性

來源:互聯網
上載者:User

標籤:

請注意onStartCommand()方法必須返回一個整數。這個整數是描述系統在殺死服務之後應該如何繼續運行(

上一節中預設的 IntentService 實現代碼會替你處理這一點,當然那樣你就無法修改這個處理過程)。

onStartCommand()的傳回值必須是以下常量之一:

START_NOT_STICKY 
如果系統在onStartCommand()返回後殺死了服務,則不會重建服務了,除非還存在未發送的intent。
當服務不再是必需的,並且應用程式能夠簡單地重啟那些未完成的工作時,這是避免服務啟動並執行最安全的選項。
START_STICKY 
如果系統在onStartCommand()返回後殺死了服務,則將重建服務並調用onStartCommand(),
但不會再次送入上一個intent, 而是用null intent來調用onStartCommand() 。除非還有啟動服務的intent未發送完,
那麼這些剩下的intent會繼續發送。 這適用於媒體播放器(或類似服務),它們不執行命令,但需要一直運行並隨時待命。
START_REDELIVER_INTENT 
如果系統在onStartCommand()返回後殺死了服務,則將重建服務並用上一個已送過的intent調用onStartCommand()。
任何未發送完的intent也都會依次送入。這適用於那些需要立即恢複工作的活躍服務,比如下載檔案。

android 四大組件之Service(6) 粘性與非粘性

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.