如何使用Objective-C检查iPhone中的未接来电?

时间:2010-02-02 12:41:06

标签: iphone objective-c ipod-touch

如何使用Objective-C检查iPhone中的未接来电?

4 个答案:

答案 0 :(得分:2)

第三方软件无法访问iPhone手机。幸运的是

答案 1 :(得分:1)

沙箱会阻止从第三方应用访问电话功能。因此,无法检测未接来电。

答案 2 :(得分:1)

使用Core Telephony框架,检测呼叫状态的变化。 听取来电。现在,当有来电时,您的应用程序会收到通知。

此后,当弹出警告时,会调用 applicationWillResignActive

  1. 如果用户接受了此呼叫,则会调用 applicationDidEnterBackground ,然后当用户切换回您的应用时,将会调用 applicationDidBecomeActive
  2. 如果用户拒绝来电或主叫方在接受/拒绝之前结束通话,则会调用 applicationDidBecomeActive
  3. 第二种情况表示未接来电。

答案 3 :(得分:0)

当您有来电时,功能

- (void)applicationWillResignActive:(UIApplication *)application;
调用

,如果错过了调用,应用程序将再次激活并执行函数

- (void)applicationDidBecomeActive:(UIApplication *)application;

被调用。

这样,您就可以检测未接来电。我知道没有其他方法可以做到这一点。

唯一的缺点是当您的应用程序处于活动状态时锁定/解锁设备时也会调用这些方法,这样您就无法知道它是未接来电还是用户锁定了设备。