两个或更多类可以将数据发送到同一个IntentService吗?

时间:2016-03-02 15:57:24

标签: android intentservice

我是Android编程的初学者,我正在阅读通过IntentServices处理耗时的操作。但是,我有这个疑问 -

我可以有两个类(比如A和B)发出对同一个类(C)的调用来扩展IntentService吗?这可能和/或安全吗?

如果是这样,我如何帮助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 个答案:

答案 0 :(得分:1)

是的,多个类可以将意图发送到同一个IntentService。在内部,不同的呼叫排队并由服务逐个处理。

你的用例有些令人担忧的事情。如果您需要根据调用类完全切换服务逻辑,那么最好有两个不同的服务,每个服务完成一个明确定义的任务。