拨号时隐藏dtmf音

时间:2013-08-07 01:19:12

标签: android phone-call dtmf

我正在拨打电话号码,然后通过

发送dtmf音
String number = "tel:+1234567,890#";
Intent c1 = new Intent(android.content.Intent.ACTION_CALL, Uri.parse(number));

目前它可以拨打1234567,等待大约3秒,然后拨打890.功能还可以发送890带有哪种不太一致的音调,有没有办法发送890没有音调回复?

1 个答案:

答案 0 :(得分:1)

开发人员无法通过公共API执行此操作。不幸的是,Android不能很好地处理DTMF控制。例如,有two year old feature request允许用户在通话期间的任意时间发送DTMF控件;它被放弃了。

如您所知,使用ACTION_CALLACTION_DIAL并执行<number>|,;|<tones>会在连接呼叫后直接发送DTMF音,但这是用户对该问题的控制权停止的地方。

任何其他控制,例如发送其他音调或将音调响应静音到手机,都由内部API处理,值得注意的是com.android.internal.telephony。值得注意的是stopDtmf()方法,它可能会做你正在寻找的方法,除了它是内部的,可能没有一致的行为。

Here's what the 2.x source looked like for the method。如上所述,不能保证这会起作用,强烈建议不要使用内部API。