我正在使用Twilio android客户端。 device.connect()
工作正常但无法断开已连接的呼叫,但是如果挂断用户(我拨打),则呼叫将被断开。我尝试使用device.disconnectAll()
和connection.disconnect()
,两者都无效。请指导我,我错了。
简单: 当被叫者可以时,来电者无法断开呼叫。
先谢谢。
连接来电
HashMap<String, String> p = new HashMap<String, String>();
p.put("PhoneNumber", personToCall);
p.put(Connection.IncomingParameterFromKey, (String) device.getCapabilities().get(Device.Capability.CLIENT_NAME));
p.put(Connection.IncomingParameterToKey, personToCall);
device.connect(p, this);
并断开连接
connection.disconnect()
答案 0 :(得分:0)
您的代码中不清楚您是如何获取连接对象的,这是Twilio客户端的两个关键部分之一。
Twilio Client文档在making outbound calls上有一个示例:
import com.twilio.client.Connection;
import com.twilio.client.Device;
import com.twilio.client.Twilio;
public class MonkeyPhone implements Twilio.InitListener
{
private Device device;
private Connection connection;
/* ... other methods ... */
public void connect()
{
connection = device.connect(null /* parameters */, null /* ConnectionListener */);
if (connection == null)
Log.w(TAG, "Failed to create new connection");
}
@Override
protected void finalize()
{
if (connection != null)
connection.disconnect();
if (device != null)
device.release();
}
}
在该示例中,当您调用device.connect()时,将返回一个连接对象并将其作为属性存储在对象中,以便稍后再次引用它。在finalize方法中,我们调用connection.disconnect()来终止调用。
如果您没有从device.connect()返回的连接对象上调用disconnect,则呼叫可能无法正常断开连接。有关详细信息,请参阅Device.connect的Twilio文档。