Android 拨号时隐藏dtmf音

Android 拨号时隐藏dtmf音,android,phone-call,dtmf,Android,Phone Call,Dtmf,我正在制作一个带有呼叫号码的呼叫应用程序,然后通过 String number = "tel:+1234567,890#"; Intent c1 = new Intent(android.content.Intent.ACTION_CALL, Uri.parse(number)); 目前,它可以拨打1234567,等待约3秒,然后拨打890。功能正常,但它发送890时带有音调,哪种不太一致,有没有办法发送890而不返回音调响应?开发人员无法通过公共API执行此操作。不幸的是,Android不能

我正在制作一个带有呼叫号码的呼叫应用程序,然后通过

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

目前,它可以拨打1234567,等待约3秒,然后拨打890。功能正常,但它发送890时带有音调,哪种不太一致,有没有办法发送890而不返回音调响应?

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

如您所知,使用
ACTION\u CALL
ACTION\u DIAL
并执行
||
将在连接呼叫后直接发送DTMF音,但用户对问题的控制将停止


任何附加控制,如向手机发送附加铃声或静音铃声响应,都由内部API处理,例如
com.android.internal.telephony
。值得注意的是
stopDtmf()
方法,它可能会执行您正在查找的操作,但它是内部的,并且可能没有一致的行为


。如上所述,不能保证这会起作用,强烈反对使用内部API。

我看到应用程序隐藏DTMF音调。例如?我还没有看到一个不需要root的版本。这个版本已经超过两年了;它即将迎来五周年纪念日,18个月前被提交并废弃。“我不希望短期内有什么变化,请记住,即使他们改变了,它也不会与以前版本的Android兼容。”PaulLammertsma表示同意。请注意,我所说的特性请求链接是2年前的,而不是问题是2年前的。正如你所提到的,它只差5个,可以使用android 3.1之前的reflection来访问.com.android.internal.telephony,在以后的版本中,我相信谷歌阻止了对这些东西的访问;仅适用于制造商