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

我正在尝试编写一个允许我拨打电话并监控通话状态的应用。从我发现的结果来看,执行此操作的“正常”方式如下所示:
Intent intent = new Intent(Intent.ACTION_CALL); intent.setData(Uri.parse(uri)); startActivity(intent);

使用这种技术,您实际上并没有收到呼叫已被应答的指示,这是我的应用程序需要知道的。
我到处寻找其他解决方案,并找到了类android.telecom.Call。看起来它可以满足我的需要,但我无法实现示例或在线查找示例。有谁能够帮助我解决这个问题,或者为我指明正确的方向?
在此先感谢您的任何建议,如果我在错误的位置提出要求,请再次道歉!

最佳答案

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

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


您需要做的只是改变轨道状态。

呼叫已开始:CallState.Idle-> CallState.Offhook

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

10-06 15:36