1

我正在尝试制作一个应用程序,一旦用户完成他/她的电话,它就会出现(每次和每次)。

用例

“我的应用程序”当前未运行。

  1. 用户从手机拨打电话。
  2. 通话完成后,“我的应用程序”应启动/运行。
  3. 它应该收集有关上次通话的一些信息。
  4. 将其写入日志并结束..

我已经看到在后台前台运行的任务,但是如何在每次通话后调用 App。

谢谢..

4

3 回答 3

3

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

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


如果来电时您的应用正在运行

可能可以注册以接收来自 的通知(使用UINotificationCenter呼叫)UITelephony

但是,如果您在通话开始时正在积极使用您的应用程序,它会-(void)applicationWillEnterForeground在通话结束时调用。至于区分电话结束与只是定期回电话,我不知道。但这是一个开始。

如果您的应用程序在调用时正在运行,CoreTelephony 框架会提供调用状态。CTCall类提供有关呼叫状态的信息。我自己没有使用过它,但您可能会发现它很有用。

extern NSString const *CTCallStateDialing;
extern NSString const *CTCallStateIncoming;
extern NSString const *CTCallStateConnected;
extern NSString const *CTCallStateDisconnected;
于 2013-08-07T07:19:54.080 回答
1

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

您可以在越狱中执行此操作

如果您尝试在 iOS 4 中实现这一点,我有任何有用的信息这里

于 2013-08-07T07:19:46.120 回答
0

如果设备没有越狱,到现在为止在 iOS 中是不可能的。

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

于 2013-08-07T07:22:22.697 回答