我有一個服務,我知道已經運行,我的活動如何與它通信,而無需重新啓動服務。android訪問正在運行的服務沒有啓動服務
要詳細說明,我有一個小部件啓動一個服務,點擊一個活動獲取加載,在這種情況下,該服務仍應該運行。
我怎樣做線沿線的東西:
- 有條件的檢查,如果該服務是活
- 訪問的服務
基本方法,主要的事情,我不想要做的是在我的活動中運行startService(new Intent(...))
。我不想在我的服務中再次運行onStart
。
理想情況下,我可以在我的服務類中添加一些方法,並在我的活動中調用這些方法,就像調用項目中的任何其他公共方法一樣。
我想在我的服務中啓動一些新線程,如果不需要,我不想創建第二個服務類。
感謝您的洞察力
太棒了!我當然會測試以確保'onStart()'不會再次被調用,但如果是這樣,我可以傳遞一些意圖標誌來有條件地繞過我的其他代碼 – CQM
我相信'onStartCommand()'會再次被調用。 「我不想在我的服務中再次運行onStart。」您可以使用簡單的布爾值來跟蹤服務是否已經運行。 (例如使用一個字段變量boolean isRunning = false;'onStartCommand()'end'isRunning = true'。如果再次調用onStartCommand(),只需檢查if(isRunning) – Sam
謝謝,我已經開始實施這些更改,我可以選擇將布爾值傳遞給intent extras並檢查捆綁包。也onstartcommand調用onstart btw – CQM