繁体   English   中英

显示通话中的拨号盘-通话中拨打号码-DTMF

[英]Show in-call dialpad - Dial a number during call - DTMF

我想在接听电话后拨打电话号码,通常由通话中的拨号盘完成。

我尝试了以下操作,但是该方法开始拨打新电话(ACTION_VIEW也是如此)。

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

我的猜测是“ tel:”会触发新的拨号序列。 我可能需要显示呼叫中的拨号盘并模拟按键。

任何人?

编辑:我发现了这个问题, 开始了InCallScreen活动 ,这使我认为我只需要发送一个keydown事件到'com.android.phone.InCallScreen',但是我不确定该怎么做。 同样,这是一个直接相关的问题,已经(并且仍然)存在多年: http : //code.google.com/p/android/issues/detail?id=1428

不。 不是tel:触发一个新的调用,而是事实是您正在创建一个新的Intent,然后运行startActivity(dial);。

考虑一下这意味着什么:您正在启动一个全新的活动,因此该活动无法与您先前代码正在使用的与电话相关的活动进行交互。

我认为您真正想做的是在拨号的末尾添加一个号码。 为此,您需要将整个数字加上URI数据中的暂停字符(p),然后使用ACTION_CALL。 码:

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

我做了三个停顿,您应该根据需要花费的时间进行调整。 或者,使用等待字符(w),但这似乎需要用户确认才能发送额外的数字。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM