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

Can two or more classes send data to the same IntentService?

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

我可以让两个 classes(比如 A 和 B)发出调用同一个 class (C) 的扩展 IntentService 吗?这可能and/or安全吗?

如果是这样,我如何帮助 IntentService 区分两个调用 classes?

我是这样想的:

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
            }
        }
}

这个方法行得通吗?

是的,多个 class 可以向同一个 IntentService 发送意图。在内部,不同的呼叫由服务一个接一个地排队和处理。

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