Xamarin表格如何知道当前正在进行的通话

问题描述 投票:0回答:1

我正在为Xamarin Forms Android应用程序编写一些代码,该应用程序拨打电话号码,但如果用户当前正在通话,我不想拨号码(无论是传入还是传出,它都没有区别)。我已经研究了很多关于手机状态但我无法找到我要找的东西,除非我错误地应用它。我需要的是这样的:

if (NoCurrentCallIsTakingPlace)
{
    var uri = Android.Net.Uri.Parse(string.Format("tel:{0}", PhoneNumber));
    var intent = new Intent(Intent.ActionCall, uri);
    Xamarin.Forms.Forms.Context.StartActivity(CurrentIntent);
}

拨打该号码的代码有效,但是检查电话状态我是否有问题的条件语句/代码。请有人帮忙。如果您需要更多信息,请道歉。请告诉我,我会提供。谢谢。

android xamarin.forms phone-call
1个回答
0
投票

那么在原生android中你有电话管理器来检查你设备的状态:

它有三种状态:

  • 闲置:闲置时没有电话
  • 摘机:当摘机时它正在通话中
  • 响个不停:响个不停 var telephonyManagerService = (TelephonyManager)Xamarin.Forms.Forms.Context.GetSystemService(TelephonyService); var getCurrentState = telephonyManagerService?.CallState; switch (getCurrentState) { case CallState.Idle: //No call break; case CallState.Ringing: //Ringing break; case CallState.Offhook: //On call break; default: break; }

在查询时还原

© www.soinside.com 2019 - 2024. All rights reserved.