2016-03-02 64 views
1

我是Android編程的初學者,我正在閱讀有關通過IntentServices處理耗時操作的內容。然而,我有這個疑問 -兩個或多個類可以將數據發送到相同的IntentService嗎?

我可以有兩個類(比如A和B)發出調用擴展IntentService的同一個類(C)嗎?這可能和/或安全嗎?

如果是這樣,我該如何幫助IntentService區分兩個調用類?

我在想的是這樣的:

public class DoSomething extends IntentService{ 
    @Override 
     public void onHandleIntent(Intent intent){ 
      Bundle data = intent.getExtras(); 
      String type = data.getString("TagForClass"); 
      if(type.equals("TagForClassA")){ 
       //Do operations for Class A 
      } 
      else if(type.equals("TagForClassB")){ 
       //Do operations for Class B 
      } 
     } 
} 

請問這種方法的工作?

回答

1

是的,多個類可以發送意向到相同的IntentService。在內部,不同的呼叫排隊並由服務逐個處理。

有一些令人擔憂的使用案例。如果您需要完全切換基於調用類的服務邏輯,最好是有兩個不同的服務,每個服務都完成一個明確定義的任務。

相關問題