Отобразить dial dial dial-dial – Набрать номер во время разговора – DTMF

Я хочу набрать номер после того, как я ответил на звонок, как правило, с помощью входящего вызова.

Я попробовал следующее, но вместо этого набирает новый вызов (так же как и ACTION_VIEW).

Intent dial = new Intent(Intent.ACTION_DIAL); dial.setData(Uri.parse("tel:9")); startActivity(dial); 

Я предполагаю, что «tel:» запускает новую последовательность набора. Скорее всего, мне нужно показать dial-dial in-call и имитировать нажатия клавиш.

Кто угодно?

Редактирование: я нашел этот вопрос. Запустив действие InCallScreen, он заставляет меня думать, что мне нужно просто отправить событие keydown в «com.android.phone.InCallScreen», но я не уверен, как это сделать. Также это напрямую связанная проблема, которая была (и до сих пор) открыта в течение многих лет: http://code.google.com/p/android/issues/detail?id=1428

Solutions Collecting From Web of "Отобразить dial dial dial-dial – Набрать номер во время разговора – DTMF"

Неа. Это не tel: это вызывает новый вызов, а скорее тот факт, что вы создаете новый Intent, а затем запускаете startActivity (dial);

Подумайте, что это значит: вы начинаете новую деятельность, поэтому не можете взаимодействовать с связанной с телефоном деятельностью, которую использует ваш предыдущий код.

Я думаю, что вы действительно пытаетесь сделать, это добавить число, а затем завершить то, что вы набираете. Для этого вам нужно поместить все свое число плюс символ паузы (p) в данные URI и использовать ACTION_CALL. Код:

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

Я сделал три паузы, вы должны настроить в зависимости от того, сколько времени потребуется. В качестве альтернативы используйте символ ожидания (w), но это, похоже, требует от пользователя подтверждения дополнительных цифр.