介绍:
Call对象代表了一个电话呼叫。一个Call对象可以有零或多个Connection对象。在双方通话中有2个Connection,在会议中可以有3个或更多的Connection。每一个Connection描述了Call和Address之间的关系。
Call对象的创建:
App可以通过Provider.createCall()方法创建一个Call对象,方法将返回的Call对象有零个Connection,并且状态为Call.IDLE状态。Privider对象在Call对象的生命周期中状态不会改变。Call可以通过Call.getProvider方法获得与之有关的Provider对象。
Call对象的状态:
可以通过Call.getState()方法获得Call对象的状态。这个状态描述了在Call对象生命周期中电话呼叫的当前过程,这个Call对象有多少个Connection。Call对象的状态在为以下三种中的一种:
Call.IDEL:所有Call对象的初始状态。此时,Call没有Conneciton与之关联,此时调用Call.getConnections()将返回一个null。
Call.ACTIVE:Call对象有相应操作时的状态。Call与1个活多个Connection相关联时为此状态,此时调用Call.getConnection()方法则返回至少一个Connection对象的Connection数组。
Call.INVALID:所有Call对象的最终状态。Call对象将失去与之关联的所有Connection对象(Connection对象转变为Connection.DISCONNECTED状态)。Call对象不会再有后续操作,Call.getConnections()返回null。

Call与Connection:
一个Call有多个Connection。App通过Call.getConnections()可以获得一组Connection。若Connection不为Connection.DISCONNECTED状态,则Call对象一直与之关联。当Connection变为Connection.DISCONNECTED状态,Call.getConnections()方法则不能获得这个Connection对象。
Call.connect()方法:
Call接口对象的私有方法。App可以使用这个方法进行呼叫操作。创建了一个发起端,一个目标端Connection,Call状态变为ACTIVE.呼叫模型在此时将创建多个对象,并与Call对象相关联。
监听和事件
CallObserver对象报告所有与Call对象有关的事件。被传递的事件都必须继承自CallEv接口。App可以通过都调用Call.addObserver()方法为Call对象添加监听。
Connection和TerminalConnection关联的事件也通过CallObserver接口监听。它们的事件必须继承自ConnEv接口和TermConnEv接口。
当Call对象的状态发生改变时一个事件将发送到App。事件为:CallActiveEv和CallInvalidEv
当Call无法监听时,CallObserver接口出发CallObservationEndedEv事件。这是通过监听获得的最后事件。
App可以调用Address.addCallObserver()和Terminal.addCallObserver()方法为Call对象关联的Address,Teminal添加监听。
以后详细介绍Call接口中的方法







发表评论 评论 (0 个评论)