如何知道我是否已成功连接到Android中的外发号码?

Mik*_*key 6 java android telephony

需要知道这一点,以便我可以发送DTMF,这将是我的第二个问题!

Don*_*rty 3

您可以使用PhoneStateLister监听呼叫状态的变化。

所以你监听LISTEN_CALL_STATE的变化。

使用onCallStateChanged方法。

因此,当状态从 RINGING 变为 OFFHOOK 时,您就知道电话已接通

同样的原则也适用于您的情况下的空闲到摘机,聆听从空闲到摘机的变化,您就会知道您已连接到呼叫。

您还可以查看 ACTION_NEW_OUTGOING_CALL 意图,Android 允许您在拨打电话时“捕获”此意图,并且您可以获取结果代码,说明呼叫是否已连接。

对于 DTMF 音调,请查看 ToneGenerator,这允许您创建 DTMF 音调,然后 .startTone() 应该允许您播放 DTMF 音调。

但是,您无法通过上行链路发送 DTMF 音。

  • 您不能“用它添加 dtmf 音调”。您无法在电话流中播放音频。最好的情况是,您可以在设备上播放 DTMF 音调,如果设备处于免提模式,这些音调*可能*会被麦克风拾取。 (2认同)