每次通话结束后在iOS中调用应用程序

时间:2013-08-07 07:15:02

标签: iphone ios objective-c core-telephony

我正在尝试创建一个应用程序,只要用户完成了他/她的电话呼叫,就应该进入应用程序(每次和每次)。

用例

“我的应用”目前尚未投放。

  1. 用户通过手机拨打电话。
  2. 通话完成后,“我的应用”应该开始/运行。
  3. 它应该收集有关上次通话的一些信息。
  4. 将其写入log&结束..
  5. 我看到任务在后台前台运行,但是在每次通话后如何调用App。

    谢谢..

3 个答案:

答案 0 :(得分:3)

不能这样做。很简单,iOS(还)没有任何此类功能,您的应用程序将根据某些系统事件触发。

但是当你的应用程序运行时,你可以探索一些替代方案。


如果您的应用在通话时正在运行

可以注册接收来自UINotificationCenter的通知(使用UITelephony来电)。

但是,如果您在通话开始时正在使用您的应用,则会在通话结束后拨打-(void)applicationWillEnterForeground。至于区分电话结束与仅定期返回电话,我不知道。但这是一个开始。

如果您的应用程序在呼叫到期时正在运行CoreTelephony Framework提供呼叫状态。 CTCall类提供有关呼叫状态的信息。我自己没有用过它,但你可能觉得它很有用。

extern NSString const *CTCallStateDialing;
extern NSString const *CTCallStateIncoming;
extern NSString const *CTCallStateConnected;
extern NSString const *CTCallStateDisconnected;

答案 1 :(得分:1)

不,它无法在iOS 5及更高版本中获取呼叫/短信/电子邮件日志。

您可以在jailbroke中执行此操作

如果您尝试在iOS 4中实现此功能,我会提供有用的信息HERE

答案 2 :(得分:0)

如果设备没有越狱,那么直到现在才能在iOS中使用。

iOS不允许任何应用拦截任何其他应用的工作。