我正在拨打电话号码,然后通过
发送dtmf音String number = "tel:+1234567,890#";
Intent c1 = new Intent(android.content.Intent.ACTION_CALL, Uri.parse(number));
目前它可以拨打1234567,等待大约3秒,然后拨打890.功能还可以发送890带有哪种不太一致的音调,有没有办法发送890没有音调回复?
答案 0 :(得分:1)
开发人员无法通过公共API执行此操作。不幸的是,Android不能很好地处理DTMF控制。例如,有two year old feature request允许用户在通话期间的任意时间发送DTMF控件;它被放弃了。
如您所知,使用ACTION_CALL
或ACTION_DIAL
并执行<number>|,;|<tones>
会在连接呼叫后直接发送DTMF音,但这是用户对该问题的控制权停止的地方。
任何其他控制,例如发送其他音调或将音调响应静音到手机,都由内部API处理,值得注意的是com.android.internal.telephony
。值得注意的是stopDtmf()
方法,它可能会做你正在寻找的方法,除了它是内部的,可能没有一致的行为。
Here's what the 2.x source looked like for the method。如上所述,不能保证这会起作用,强烈建议不要使用内部API。