Ios telprompt-我可以获取通话持续时间吗?

Ios telprompt-我可以获取通话持续时间吗?,ios,iphone,url-scheme,telprompt,Ios,Iphone,Url Scheme,Telprompt,我正试图通过telpromt命令进行调用,以便在调用后返回到我的应用程序: NSString *telno = @"telprompt://121,,,,14"; [[UIApplication sharedApplication] openURL:[NSURL URLWithString:telno]]; 是否有任何方法可以从我的应用程序计算所有情况下的通话持续时间?保存一个NSDate当你的应用程序接收到应用程序willresignactive时,这将是通话的开始。然后在应用程序IDBEC

我正试图通过telpromt命令进行调用,以便在调用后返回到我的应用程序:

NSString *telno = @"telprompt://121,,,,14";
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:telno]];

是否有任何方法可以从我的应用程序计算所有情况下的通话持续时间?

保存一个
NSDate
当你的应用程序接收到
应用程序willresignactive
时,这将是通话的开始。然后在
应用程序IDBECOMEACTIVE
中计算保存的
NSDate
与当前日期之间的差值。这将为您粗略估计通话持续的时间


比这更近的距离你将永远无法到达。

我不知道它是否有效,但你可以在
viewdiddefine
中启动一个计时器,并在
viewDidAppear
中对其进行评估。你可以查看iPhone sdk中提供的CTCoreTephoney框架,因为telprompt不是官方的,苹果可能会在未来的版本中删除它,而不另行通知。因此,即使他们批准了你的应用程序,你以后也可能会遇到麻烦。但它使用applicationWillResignActive和applicationdidebecomeactive计算持续时间。我认为,这并不适用于所有情况。例如,如果由于任何原因调用失败。然后,用户将无法导航到应用程序,持续时间计算将无法工作。然后,我尝试使用CTCoreThelphony框架。不幸的是,它有一些bug。如果你感兴趣,你可以检查这个()。谢谢,但我认为,它不会适用于所有情况。例如,如果由于任何原因调用失败。然后用户将无法导航到应用程序,然后持续时间计算将无法工作。没有其他选项,因为没有API可用于与您所需级别的电话进行交互。这与用户的隐私有关。要么接受它,要么在Android上构建一个应用程序,这一切都是可能的。CTCORETERPHONY框架的CTCallCenter怎么样?怎么样?它是用来监视通话的,但不会提供您所需的所有信息,而且在后台也不能正常工作。是的,后台出现了一些问题。但我可以监控呼叫何时建立和终止。它适用于forground中的应用程序。但有时它会在连接事件之前广播断开连接的事件(我打电话给IVR)。我无法计算持续时间。仍在寻找合适的解决方案。。。