如何而其他调用运行合并呼叫编程(电话会议) [英] How to merge Call programmatically while other call is running (Conference call)

查看:387
本文介绍了如何而其他调用运行合并呼叫编程(电话会议)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的要求是这样的,说我是调用一些在那个时候,我想打电话给另一个号码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大多是内部的Andr​​oid的东西。您可能需要使用反射来调用它,或者它可能无法在所有 - 这可能是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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆