我需要订阅一个事件来处理来电。由于 iOS 版本 11.0 CTCallCenter 已被弃用,我们必须使用 CXCallObserver。我成功实现了 CTCallCenter 的解决方案,但无法订阅 CXCallObserver 的事件。有人有 CXCallObserver 的工作解决方案吗?
这是我订阅 CTCallCenter 事件的代码..
_callCenter = new CTCallCenter();
_callCenter.CallEventHandler += CallEvent;
private void CallEvent(CTCall call)
{
CoreFoundation.DispatchQueue.MainQueue.DispatchSync(() =>
{
if(call.CallState.Equals(call.StateIncoming))
//Do something
});
}
最佳答案
实现CXCallObserver
的委托(delegate):
public class MyCXCallObserverDelegate : CXCallObserverDelegate
{
public override void CallChanged(CXCallObserver callObserver, CXCall call)
{
Console.WriteLine(call);
}
}
然后在您的代码中,创建一个 CXCallObserver
实例(保持对此的强引用),然后分配委托(delegate):
cXCallObserver = new CXCallObserver();
cXCallObserver.SetDelegate(new MyCXCallObserverDelegate(), null);
关于xamarin - 如何在Xamarin中使用CXCallObserver?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46540684/