gpt4 book ai didi

java - 显示通话中的拨号盘 - 通话时调用号码 - DTMF

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:04:48 26 4
gpt4 key购买 nike

我想在接听电话后调用一个号码,这通常是通过通话中的拨号盘完成的。

我尝试了以下方法,但开始调用新电话(ACTION_VIEW 也是如此)。

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

我的猜测是“tel:”触发了一个新的拨号序列。我可能需要的是显示通话中的拨号盘并模拟击键。

有人吗?

编辑:我发现了这个问题 Starting the InCallScreen activity这让我觉得我只需要向“com.android.phone.InCallScreen”发送一个按键事件,但我不确定该怎么做。这也是一个直接相关的问题,多年来一直(并且仍然)开放: http://code.google.com/p/android/issues/detail?id=1428

最佳答案

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

想想这意味着什么:您正在开始一项全新的 Activity ,因此它无法与您之前的代码正在使用的电话相关 Activity 进行交互。

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

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

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

关于java - 显示通话中的拨号盘 - 通话时调用号码 - DTMF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10132169/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com