【问题标题】:Android to call from a virtual numberAndroid 从虚拟号码拨打电话
【发布时间】:2017-08-24 21:00:16
【问题描述】:

是否可以通过 Android 的 SDK 隐藏您拨打的号码?考虑一下:您希望拨打私人电话,但由于很多人屏蔽私人号码,您不想使用*67。这是医生经常做的事情——他们用手机打电话,但不希望病人有他们的私人手机号码。

假设我们正在为 Physicians 构建一个应用程序。该应用程序提供了一个联系人列表,单击一个联系人并进行呼叫,但是以隐藏此电话的呼叫者ID的方式。例如,我有一个与我的真实手机号码不同的 Google Voice 号码,我可以通过这个号码接听电话。有没有办法通过 Google Voice 以编程方式拨打电话?

我还可以在通话中注册一些事件侦听器,以便在通话结束时应用程序知道吗?

【问题讨论】:

  • 有一个很棒的应用程序叫做 Slydial,它可以帮助你谨慎地打电话给你不想知道你打电话的人。我知道这与您的问题没有直接关系,但值得一试。
  • 感谢您指出这个有趣的应用程序。这是相关的,因为我认为您呼叫的人只会在呼叫者 ID 中看到 Slydial 号码。
  • Slydial 会直接将您发送到他们的语音信箱,但不会隐藏您的电话号码。但是,如果您有 Google Voice 号码并为您的手机安装了 Google Voice 应用程序,则可以使用其设置从您的 Voice 号码拨打 Slydial 电话;然后显示的是您的 Voice 号码,而不是您手机的号码。

标签: android phone-call


【解决方案1】:

您可以检查this link,它为此使用telephony api。请查看第 15.1.3 节Example: Determining the State of a Call

我也在此处粘贴示例代码:

private class ListenToPhoneState extends PhoneStateListener {

public void onCallStateChanged(int state, String incomingNumber) {
    Log.i("telephony-example", "State changed: " + stateName(state));
}

String stateName(int state) {
    switch (state) {
        case TelephonyManager.CALL_STATE_IDLE: return "Idle";
        case TelephonyManager.CALL_STATE_OFFHOOK: return "Off hook";
        case TelephonyManager.CALL_STATE_RINGING: return "Ringing";
    }
    return Integer.toString(state);
    }
}

【讨论】:

    猜你喜欢
    • 2016-03-26
    • 2016-08-11
    • 1970-01-01
    • 2021-01-18
    • 2018-03-09
    • 1970-01-01
    • 2015-01-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多