1

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

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

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

4

1 回答 1

0

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

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

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

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

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

于 2018-03-14T11:50:02.730 回答