终于到了CallManager.java。我对它的理解是,这个类是frameworks层在Call业务中面对App层的最后一层封装。通过这个类,我们可以对底层的业务做进一步归纳,实际上也是为PhoneApp提供了Call业务的控制接口(CallManager class provides an abstract layer forPhoneApp to access and control calls.)。那么,CallManager都有哪些功用,参考该类的说明文档我们可以得知:
1. 对诸如dial()和hangup()等业务的操作
2. 一些通道的使能操作,比如说CanConference()
3. 消息的注册
由此,对CallManager的几个功能我做了划分如下:
这里举出的方法只占其中的一部分。
在进行下一步分析之前,先要理清一个概念,CalManager所维护的几个泛型数组里放置的,究竟是什么?
从CallManager的构造函数可以看到,CallManager实例化后最重要的就是如下几个数组对象:
privateCallManager() {
mPhones= new ArrayList&