每次调用 applicationDidBecomeActive 时 CXCallObserver 都会触发委托方法?
CXCallObserver fires delegate method every time applicationDidBecomeActive is called?
所以我想从我的应用程序中获取手机通话的时间。我在呼叫接通后立即获得呼叫的开始时间,但我也会在呼叫结束时执行开始时间块,这会覆盖我的 callStartTime
属性。传入呼叫也会发生同样的事情(正如您从随附的控制台日志屏幕截图中看到的那样)。我正在使用 telprompt://
拨打电话并使用 return 返回应用程序。这是一个错误吗?
只要调用发生变化,就会调用 CXCallObserver
委托方法,并且会在调用连接时调用一次,稍后 if/when 调用结束。 hasConnected
和 hasEnded
属性应分别解释为 "has ever connected" 和 "has ever ended"。
因此,我建议使用这样的逻辑:
if (call.hasConnected) {
if (!call.hasEnded) {
// record start time (unless start time has already been recorded)
} else {
// record end time (unless end time has already been recorded)
}
}
所以我想从我的应用程序中获取手机通话的时间。我在呼叫接通后立即获得呼叫的开始时间,但我也会在呼叫结束时执行开始时间块,这会覆盖我的 callStartTime
属性。传入呼叫也会发生同样的事情(正如您从随附的控制台日志屏幕截图中看到的那样)。我正在使用 telprompt://
拨打电话并使用 return 返回应用程序。这是一个错误吗?
只要调用发生变化,就会调用 CXCallObserver
委托方法,并且会在调用连接时调用一次,稍后 if/when 调用结束。 hasConnected
和 hasEnded
属性应分别解释为 "has ever connected" 和 "has ever ended"。
因此,我建议使用这样的逻辑:
if (call.hasConnected) {
if (!call.hasEnded) {
// record start time (unless start time has already been recorded)
} else {
// record end time (unless end time has already been recorded)
}
}