java - 如何知道我是否已成功连接到我在 Android 中的拨出号码?

标签 java android telephony

需要知道这个以便我可以发送 DTMF,这将是我的第二个问题!

最佳答案

您可以使用 PhoneStateLisenter监听通话状态的变化。

所以你监听 LISTEN_CALL_STATE改变。

随着onCallStateChanged 方法。

因此,当状态从 RINGING 变为 OFFHOOK 时,您就知道电话已接通

在您的情况下,同样的原则适用于 IDLE 到 OFFHOOK,聆听从 IDLE 到 OFFHOOK 的变化,您将知道您已接通电话。

您还可以查看 ACTION_NEW_OUTGOING_CALL Intent ,Android 允许您在调用电话时“捕获”此 Intent ,并且您可能能够返回一个结果代码,说明调用是否接通。

对于 DTMF 音调,请查看 ToneGenerator,这允许您创建 DTMF 音调,然后 .startTone() 应该允许您播放 DTMF 音调。

但是您不能通过上行链路发送 DTMF 音。

关于java - 如何知道我是否已成功连接到我在 Android 中的拨出号码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2635945/

相关文章:

java - WebDriver Wait '.until(ExpectedConditions.elementToBeClickable' 仅在我将 Thread.sleep(500) 添加到代码时有效?

java - 泛型数组和泛型值有什么区别?

java - 如何为 Android Studio 定义 JAVA_HOME 变量?

android ormlite - 存储字符串数组

android - 检测电话开始拨出电话铃声的时间

android - Android SDK 中 Telephony.Sms.getDefaultSmsPackage() 的替代方案?

java - JNI - 从 C++ Vector 实例化 Java ArrayList

java - 如何将Response.ok().build()转为json类型

java - 静态方法或单例,选择哪一个?

linux - 通配符 TDM400P REV H 数字卡配置