【发布时间】:2017-08-24 17:46:47
【问题描述】:
我有以下代码:
public class StateListener : PhoneStateListener
{
StateListener phoneStateListener = new StateListener();
TelephonyManager telephonyManager = (TelephonyManager)GetSystemService(Context.TelephonyService);
telephonyManager.Listen(phoneStateListender, PhoneStateListenerFlags.CallState);
public void onCallStateChanged(CallState state, String incomingNumber)
{
base.OnCallStateChanged(state, incomingNumber);
switch (state)
{
case CallState.Ringing:
break;
case CallState.Offhook:
break;
case CallState.Idle:
break;
}
}
}
这是一个内部类,因为我的基类是“MainActivity:Activity”。以上代码来自Java,所以我尝试将其转换为C#。但是,在这种情况下我会出错:
(TelephonyManager)GetSystemService(Context.TelephonyService);
抛出一个错误,字段初始化器必须是静态的并且
telephonyManager.Listen(phoneStateListender, PhoneStateListenerFlags.CallState);
在此上下文中不可用。我什至不知道上面的代码是否可以工作。 如何在 Xamarin 中实现我可以获取拨出电话的状态?
【问题讨论】:
标签: android xamarin listener telephonymanager