如何而其他调用运行合并呼叫编程(电话会议) [英] How to merge Call programmatically while other call is running (Conference call)
问题描述
我的要求是这样的,说我是调用一些在那个时候,我想打电话给另一个号码Programetically。到目前为止,我所做的是:我能够拨打特定号码时,如果已经有人称之为是怎么回事。例如,假设我呼吁号码123和1分随着报警经理
我有触发事件的另一个号码456打电话,做到这一点了!
My requirement is like this ,Say I am calling a number on that time and I want to call another number Programetically. So far what I have done is: I am able to call to particular number while already some call is going. For example, suppose I am calling on number 123 and after 1min With Alarm Manger
I have trigger event to call on another number 456 and that is done!
Intent intent = new Intent(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:456"));
startActivity(intent);
我使用这种意图打电话,现在我能看到屏幕上我的手机,它要求合并通话
I am using such intent to call and now I am able to see screen on my phone which ask to merge call
在此图片可以看到合并呼叫的按钮。现在,当用户点击合并这将合并所有3个电话,我的查询是我想要做的Programetically不与用户界面。
In this image you can see a button of Merging calls. Now when user will click on Merge It will Merge All 3 Calls,My query is I want to do it Programetically not with the user interface.
我希望有人会指引我以适当的方式,当然,我已经搜查,没有R&安培; D代表,但找不到任何合适的指南。
I hope someone will guide me in a proper way, Of course I have searched and did R & D for it but could not find any proper Guide.
推荐答案
您的问题挺有意思的,于是我就开始挖掘Android的源代码。以下是我发现:
Your question seemed interesting so I started digging in Android Source. Here is what I found:
在图片您发布的活动被称为 InCallUI
The activity in the picture you posted is called InCallUI
当你开始环顾四周,你会发现<一href="https://android.googlesource.com/platform/packages/apps/InCallUI/+/master/src/com/android/incallui/InCall$p$psenter.java">InCall$p$psenter这在线路463有:
When you start looking around you will find InCallPresenter which at line 463 has:
final boolean canMerge = activeCall.can(Capabilities.MERGE_CALLS);
,然后在472:
and then at 472:
CallCommandClient.getInstance().merge();
当您检查<一的合并()方法href="https://android.googlesource.com/platform/packages/apps/InCallUI/+/master/src/com/android/incallui/CallCommandClient.java">CallCommandClient你会发现它使用<一个href="https://android.googlesource.com/platform/packages/services/Telephony/+/master/common/src/com/android/services/telephony/common/ICallCommandService.aidl">ICallCommandService我认为接口是什么,你要寻找的:)
when you check that merge() method in CallCommandClient you will find it uses ICallCommandService interface which I think is what you where looking for :)
这CallCommandClient的初始化是在<一个href="https://android.googlesource.com/platform/packages/apps/InCallUI/+/master/src/com/android/incallui/CallHandlerService.java">CallHandlerService围绕线193。
Initialization of that CallCommandClient is in CallHandlerService around line 193.
希望这有助于&放大器;祝你好运。
Hope this helps & good luck.
PS。我列举这些API大多是内部的Android的东西。您可能需要使用反射来调用它,或者它可能无法在所有 - 这可能是inaccesible为您的应用程序,因为它没有标记为系统应用
PS. The APIs I listed are mostly internal Android stuff. You may have to use reflection to call it or it might not be possible at all - it may be inaccesible for your app because it's not marked as system app.
这篇关于如何而其他调用运行合并呼叫编程(电话会议)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!