android - 如何获取 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的问题还是我需要其他方式来访问电话会议的孩子?任何帮助将不胜感激!
解决方案
刚刚回答了我自己的问题。如果有人再次遇到这个令人难以置信的模糊问题,问题是即使立即注册了新的电话会议,Android 也需要一秒钟才能将电话实际添加为子电话。如果您创建一个回调
public void onChildrenChanged(Call call, List<Call> children) {
super.onChildrenChanged(call, children);
}
您将看到添加了这些新子项,然后可以.getChildren()
在该电话会议对象上运行。
推荐阅读
- javascript - 如何使用另一个数组的内容过滤数组?
- python - Python涌入查询将日期插入查询
- matplotlib - ax1 ax2 双轴时的情节外图例
- python - 将整数列表字典打印为十六进制
- php - 将两个 preg_replace 语句合并为一个
- r - 将缺失值替换为相关 ID 的值
- laravel - 我如何在ubuntu中更改域名?
- python - 使用 pandas datareader 时出现 Keyerror 'Date'
- azure-sql-database - 需要创建一个人可以访问的sql视图,但是这个人不能访问数据库
- swiftui - SwiftUI,创建浮动按钮,需要可以像 Assistive Touch 一样移动到任何地方