我需要订阅一个事件来处理来电。由于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
});
}
答案 0 :(得分:1)
实施CXCallObserver
:
public class MyCXCallObserverDelegate : CXCallObserverDelegate
{
public override void CallChanged(CXCallObserver callObserver, CXCall call)
{
Console.WriteLine(call);
}
}
然后在您的代码中,创建一个CXCallObserver
的实例(保持对此的强引用),然后分配委托:
cXCallObserver = new CXCallObserver();
cXCallObserver.SetDelegate(new MyCXCallObserverDelegate(), null);