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