如果我犯了一个错误,请问-这是我的第一篇文章!我也是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