【问题标题】:android telephone call - android.telecom.Call安卓电话 - android.telecom.Call
【发布时间】:2018-03-14 11:37:23
【问题描述】:

如果我犯了错误,请原谅 - 这是我的第一篇文章!我也是 android 和 Java 的新手。

我一直在尝试编写一个可以让我拨打电话并监控通话状态的应用程序。根据我的发现,执行此操作的“正常”方式是这样的: Intent intent = new Intent(Intent.ACTION_CALL); intent.setData(Uri.parse(uri)); startActivity(intent);

使用这种技术,您实际上并没有得到呼叫已被应答的指示,我需要为我的应用程序知道这一点。 我环顾四周寻找其他解决方案,并找到了 android.telecom.Call 类。这看起来可以满足我的需求,但我无法实现示例,或在网上找到一个示例。有没有人能帮我解决这个问题,或者指出我正确的方向? 提前感谢您的任何建议,如果我问错了地方,再次道歉!

【问题讨论】:

标签: java android android-phone-call


【解决方案1】:

我使用与您相同的代码进行有意调用(但在 xamarin 中)。 您可以使用 PhoneStateListener 监控状态

 public override void OnCallStateChanged(CallState state, string incomingNumber)
    {
        base.OnCallStateChanged(state, incomingNumber);
    }

您所需要的只是跟踪状态变化。

通话开始:CallState.Idle -> CallState.Offhook

通话结束:CallState.Offhook -> CallState.Idle

【讨论】:

  • 您好,感谢您的回复。我最初的尝试确实使用了 PhoneStateListener,但是(据我所知),它只会显示 3 个状态变化:CALL_STATE_IDLE、CALL_STATE_RINGING 和 CALL_STATE_OFFHOOK。 CALL_STATE_OFFHOOK 无法区分拨出电话是摘机还是已接听
  • 哦,那么是的,状态跟踪需要帮助您。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多