How to merge Call programmatically while other call is running (Conference call)

Your question seemed interesting so I started digging in Android Source. Here is what I found:

The activity in the picture you posted is called InCallUI

When you start looking around you will find InCallPresenter which at line 463 has:

final boolean canMerge = activeCall.can(Capabilities.MERGE_CALLS);

and then at 472:

CallCommandClient.getInstance().merge();

when you check that merge() method in CallCommandClient you will find it uses ICallCommandService interface which I think is what you where looking for 🙂

Initialization of that CallCommandClient is in CallHandlerService around line 193.

Hope this helps & good luck.

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.

Leave a Comment