使用Twilio Android客户端断开连接呼叫

时间:2014-09-01 07:51:33

标签: android twilio

我正在使用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()

1 个答案:

答案 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文档。