2016-03-02 40 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。在内部,不同的呼叫排队并由服务逐个处理。

有一些令人担忧的使用案例。如果您需要完全切换基于调用类的服务逻辑,最好是有两个不同的服务,每个服务都完成一个明确定义的任务。

相关问题