我是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
}
}
}
这种方法有用吗?
答案 0 :(得分:1)
是的,多个类可以将意图发送到同一个IntentService
。在内部,不同的呼叫排队并由服务逐个处理。
你的用例有些令人担忧的事情。如果您需要根据调用类完全切换服务逻辑,那么最好有两个不同的服务,每个服务完成一个明确定义的任务。