2012-04-12 4 views
8

Ich möchte eine Nummer wählen, nachdem ich einen Anruf angenommen habe, normalerweise über das In-Call-Wählfeld.Anrufsperre anzeigen - Während des Anrufs eine Nummer wählen - DTMF

Ich versuchte Folgendes, aber das beginnt stattdessen einen neuen Anruf zu wählen (so tut ACTION_VIEW).

Meine Vermutung ist, dass "Tel:" eine neue Wählfolge auslöst. Was ich wahrscheinlich brauche, ist, das In-Call-Wähltastenfeld anzuzeigen und Tastenanschläge zu simulieren.

Jeder?

Edit: fand ich diese Frage Starting the InCallScreen activity , die mich denken lässt, dass ich ein keydown Ereignis senden müssen nur zu ‚com.android.phone.InCallScreen‘, aber ich bin nicht sicher, wie das zu tun. Auch dies ist ein direkt damit verbundenes Problem, das seit Jahren offen ist (und immer noch ist): http://code.google.com/p/android/issues/detail?id=1428

+0

Soweit ich sagen kann, gibt es keine Funktionalität in der öffentlichen API dafür. Es gab einige [vorgeschlagene Änderungen] (https://groups.google.com/forum/#!msg/android-contrib/4QqHgLOrBO8/xXl9221pv-kJ) für den TelephonyManager, um dies zu ermöglichen, aber sie scheinen blockiert zu sein. – caseyburkhardt

Antwort

0

Nein. Es ist nicht das Telefon: das löst einen neuen Anruf aus, sondern die Tatsache, dass Sie einen neuen Intent erstellen und dann startActivity (dial) ausführen;

Denken Sie darüber nach, was dies bedeutet: Sie starten eine brandneue Aktivität, sodass sie nicht mit der telefonbezogenen Aktivität interagieren kann, die Ihr vorheriger Code verwendet.

Ich denke, was Sie wirklich tun möchten, ist eine Zahl hinzufügen, um dann zu beenden, was Sie wählen. Dazu müssen Sie Ihre gesamte Zahl plus ein Pausenzeichen (p) in die URI-Daten einfügen und ACTION_CALL verwenden. Code:

Intent dial = new Intent(Intent.ACTION_CALL); 
dial.setData(Uri.parse("tel:7195555555ppp9")); 
startActivity(dial); 

Ich habe drei Pausen, sollten Sie basiert auf einstellen, wie lange es dauert. Alternativ können Sie das Wartezeichen (w) verwenden. Dies erfordert jedoch eine Bestätigung des Benutzers, um die zusätzlichen Ziffern zu senden.

Verwandte Themen