Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在呼叫拨号板中显示-呼叫期间拨打号码-DTMF_Java_Android_Android Intent_Dtmf - Fatal编程技术网

Java 在呼叫拨号板中显示-呼叫期间拨打号码-DTMF

Java 在呼叫拨号板中显示-呼叫期间拨打号码-DTMF,java,android,android-intent,dtmf,Java,Android,Android Intent,Dtmf,我想在接完电话后再拨一个号码,通常是通过呼入拨号板 我尝试了以下方法,但这会开始拨打新的电话(ACTION_VIEW也是如此) 我猜“电话:”会触发一个新的拨号序列。我可能需要的是显示通话拨号板并模拟按键 有人吗 编辑: 我发现了这个问题 这让我觉得我只需要向com.android.phone.InCallScreen发送一个按键事件,但我不知道怎么做。 此外,这是一个已经(并且仍然)公开多年的直接相关问题: 不。触发新呼叫的不是电话,而是您正在创建新的意图,然后运行startActivity(

我想在接完电话后再拨一个号码,通常是通过呼入拨号板

我尝试了以下方法,但这会开始拨打新的电话(ACTION_VIEW也是如此)

我猜“电话:”会触发一个新的拨号序列。我可能需要的是显示通话拨号板并模拟按键

有人吗

编辑: 我发现了这个问题 这让我觉得我只需要向com.android.phone.InCallScreen发送一个按键事件,但我不知道怎么做。 此外,这是一个已经(并且仍然)公开多年的直接相关问题:
不。触发新呼叫的不是电话,而是您正在创建新的意图,然后运行startActivity(拨号)

想想这意味着什么:你正在开始一项全新的活动,因此它无法与你以前的代码正在使用的与手机相关的活动进行交互

我想你真正想做的是在你所拨打的电话后面加一个号码。要做到这一点,您需要在URI数据中输入完整的数字,加上一个暂停字符(p),并使用ACTION_调用。代码:

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

我做了三次暂停,你应该根据需要多长时间来调整。或者,使用等待字符(w),但这似乎需要用户确认才能发送额外的数字。

据我所知,公共API中没有这方面的功能。有一些电话管理员允许这样做,但他们似乎已经停止。
Intent dial = new Intent(Intent.ACTION_CALL);
dial.setData(Uri.parse("tel:7195555555ppp9"));
startActivity(dial);