Xamarin Forms 如何知道当前正在进行通话
Xamarin Forms How to know when a call is currently taking place
我正在为 Xamarin Forms Android 应用程序编写一些代码,该应用程序可以拨打 phone 号码,但如果用户当前正在通话(无论是来电),我不想拨打该号码或外向,这没有什么区别)。我对 phone 状态进行了很多研究,但我找不到我要找的东西,除非我没有正确应用它。我需要的是这样的:
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);
}
拨号代码有效,但它是有条件的 statement/code 检查 phone 状态,我遇到了问题。请有人帮忙。如果您需要更多信息,我们深表歉意。请让我知道,我会提供。谢谢。
在本机 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;
}
如有疑问请回复
我正在为 Xamarin Forms Android 应用程序编写一些代码,该应用程序可以拨打 phone 号码,但如果用户当前正在通话(无论是来电),我不想拨打该号码或外向,这没有什么区别)。我对 phone 状态进行了很多研究,但我找不到我要找的东西,除非我没有正确应用它。我需要的是这样的:
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);
}
拨号代码有效,但它是有条件的 statement/code 检查 phone 状态,我遇到了问题。请有人帮忙。如果您需要更多信息,我们深表歉意。请让我知道,我会提供。谢谢。
在本机 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; }
如有疑问请回复