gpt4 book ai didi

android - 如何在其他调用正在运行时以编程方式合并调用(电话 session )

转载 作者:太空狗 更新时间:2023-10-29 15:20:25 25 4
gpt4 key购买 nike

我的要求是这样的:假设我当时正在调用一个号码,我想以编程方式调用另一个号码。到目前为止,我所做的是:我可以在某些通话正在进行时调用特定号码。例如,假设我正在调用 123 号并且在 1 分钟后(通过使用 Alarm Manger 我触发了一个事件来调用另一个号码 456 并且完成了!

Intent intent = new Intent(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:456"));
startActivity(intent);

我正在使用这样的 Intent 来打电话,现在我可以在我的手机屏幕上看到一个合并电话的按钮:

screenshot of phone

在此图像中,您可以看到合并调用按钮。现在当用户点击合并时,它将合并所有 3 个调用。我想以编程方式执行此操作,而不是使用用户界面。

最佳答案

您的问题似乎很有趣,所以我开始研究 Android 源代码。这是我发现的:

您发布的图片中的 Activity 称为InCallUI

当您开始环顾四周时,您会发现 InCallPresenter在第 463 行有:

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

然后在 472:

CallCommandClient.getInstance().merge();

当您检查 CallCommandClient 中的 merge() 方法时你会发现它使用 ICallCommandService我认为您正在寻找的界面 :)

CallCommandClient 的初始化在 CallHandlerService 中大约在第 193 行。

希望这对您有所帮助,祝您好运。

附言。我列出的 API 大多是 Android 内部的东西。您可能必须使用反射来调用它,或者根本不可能调用它 - 您的应用可能无法访问它,因为它未标记为系统应用。

关于android - 如何在其他调用正在运行时以编程方式合并调用(电话 session ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8324863/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com