Ich mache eine Anruf-App mit einer Nummer anrufen und danach dtmf Ton von
senden %Vor%Gegenwärtig kann es 1234567 wählen, ungefähr 3 Sekunden warten, dann 890 wählen. Funktioniert in Ordnung, aber sendet 890 mit Ton, der irgendwie nicht sehr anpassungsfähig ist, Gibt es irgendeine Weise, 890 ohne Tonantwort zurück zu senden?
Entwickler können dies nicht über öffentliche APIs tun. Leider beherrscht Android DTMF-Steuerung nicht sehr gut. Zum Beispiel gibt es eine Funktionsprüfung für zwei Jahre , mit der ein Nutzer DTMF-Steuerelemente senden kann zu einer beliebigen Zeit während eines Anrufs; es wurde aufgegeben.
Wie Sie wissen, sendet die Verwendung von ACTION_CALL
oder ACTION_DIAL
und doing <number>|,;|<tones>
DTMF-Töne direkt nach dem Verbindungsaufbau, aber an dieser Stelle stoppt die Benutzerkontrolle über das Problem.
Alle zusätzlichen Steuerelemente, z. B. das Senden zusätzlicher Töne oder das Stummschalten der Tonantwort auf das Mobilteil, werden von internen APIs behandelt, bemerkenswerter com.android.internal.telephony
. Bemerkenswert ist die stopDtmf()
-Methode, die möglicherweise tun würde, was Sie suchen, außer dass es intern ist und möglicherweise kein konsistentes Verhalten hat.
So sah die 2.x-Quelle für die Methode aus . Wie gesagt, es gibt keine Garantie dafür, dass dies funktionieren würde und von der Verwendung interner APIs wird dringend abgeraten.
Tags und Links android phone-call dtmf