是否可以在通话中以编程方式在拨号器上拨打号码……?

Is it possible to dial numbers programatically on the dialer while on an active call..?

我最近一直在开发一个应用程序,该应用程序需要响应自动接线员(虚拟接线员),它允许呼叫者自动转移到分机,而无需 operator/receptionist。

我的要求是安排 phone 呼叫特定号码并响应自动话务员指令("for sales, press 1, for service, press 2," 等)

是否有可能实现类似的操作,否则我可以通过在呼叫仍处于活动状态时以编程方式按下一个选项(比如上面示例中的 1 或 2)手动响应系统来实现。

感谢任何帮助。

没有办法做到这一点。没有 API,并且由于拨号器不是 OS 的一部分并且可以是任何应用程序,因此您不能指望在所有设备上都能正常工作。

您最好假设拨号器将接受 USSD 输入(USSD 是一种古老的电话协议,用于向电话发送数据)。在 USSD 语言中,逗号是停顿。所以如果你想拨一个号码,比 1 在提示时你可以要求它拨 "number,,,,1" 并希望拨号器接受 USSD 输入并且停顿足够长以在正确的时间拨 1。但它只能在所有设备的一个子集上运行,并且在那里很脆弱。