如何获取Android电话会议的孩子?

时间:2019-04-03 03:01:44

标签: android

我正在建立一个自定义的Android呼叫界面,需要获取电话会议的子呼叫对象来管理合并的呼叫。

这是处理新呼叫的代码。我假设如果添加的新呼叫代表电话会议,那么我应该能够访问这些子呼叫并挂断单个呼叫,拆分单个呼叫,为每个子呼叫注册回调,等等。

public void onCallAdded(Call call) {
    Log.i("MyCallService", "Call state: " + call.getState());

    if(call.getDetails().hasProperty(Call.Details.PROPERTY_CONFERENCE)) {
            Log.i("MyCallService", "Conference call entered with " + call.getChildren().size()
                    + " participants.");
               return;
        }
    //...
}

由于某种原因,无论已合并多少个呼叫,call.getChildren().size()始终为zero。这是Android的问题,还是我需要采取其他方法来访问电话会议的孩子?任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

回答了我自己的问题。如果有人再次遇到这个难以理解的问题,那么问题是,即使立即注册了新的电话会议,Android也会花一秒钟的时间将呼叫实际添加为子代。如果您使用

创建回调
public class MainActivity extends AppCompatActivity implements AudioManager.OnAudioFocusChangeListener

您将看到已添加了新的子代,然后可以在该电话会议对象上运行public void onChildrenChanged(Call call, List<Call> children) { super.onChildrenChanged(call, children); }