首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >显示呼叫中拨号盘-在呼叫过程中拨号- DTMF

显示呼叫中拨号盘-在呼叫过程中拨号- DTMF
EN

Stack Overflow用户
提问于 2012-04-13 05:30:37
回答 1查看 1.5K关注 0票数 9

我想在应答呼叫后拨打一个号码,这通常是通过通话中拨号键盘完成的。

我尝试了以下方法,但它开始拨打一个新的呼叫(ACTION_VIEW也是如此)。

代码语言:javascript
复制
Intent dial = new Intent(Intent.ACTION_DIAL);
dial.setData(Uri.parse("tel:9"));
startActivity(dial);

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

有没有人?

编辑:我找到了这个问题Starting the InCallScreen activity,它让我认为我只需要发送一个keydown事件到‘com.android.hone.InCallScreen’,但我不确定如何做到这一点。这也是一个直接相关的问题,已经(并且仍然是)存在多年:http://code.google.com/p/android/issues/detail?id=1428

EN

回答 1

Stack Overflow用户

发布于 2012-12-02 06:02:38

不是的。不是电话:触发了一个新的呼叫,而是你创建了一个新的意图,然后运行startActivity(拨号);

想一想这意味着什么:您正在启动一个全新的活动,因此它不能与您之前的代码正在使用的与电话相关的活动交互。

我认为你真正想要做的是在你所拨打的内容的末尾加上一个号码。为此,您需要在URI数据中放入整个数字和一个暂停字符(p),并使用ACTION_CALL。代码:

代码语言:javascript
复制
Intent dial = new Intent(Intent.ACTION_CALL);
dial.setData(Uri.parse("tel:7195555555ppp9"));
startActivity(dial);

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10132169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档