iOS 6中的“请勿打扰”function如何实现?

我想在iOS 6中实现“请勿打扰”function。

第一个问题:是否有任何框架或api苹果暴露通过代码控制他们?

大量的谷歌search后,我发现应用程序商店“呼叫幸福”,提供此function,并完全控制通话,短信和彩信。 有人可以解释这个应用程序的工作原理 或任何其他的工作在iOS学习和实现这个function?

提前致谢…

通过阅读Call Bliss的描述,实际上听起来很简单。

1)请勿打扰必须始终启用。 没有安排,没有closures,但在任何时候。

2)它要求您将联系人组设置为“请勿打扰”的例外设置为“极乐例外”。 这意味着应用程序需要访问您的地址簿。

从那里开始,假设它根据您在应用程序中设置的任何参数pipe理“Bliss Exceptions”联系人组中的联系人可能是明智的做法。 它根据所述参数添加和删除该组中的人员。

所以要回答你的问题,不,没有框架来做到这一点。 他们这样做的方式可能是目前唯一的方法,没有公共的APIpipe理请勿打扰状态。

甚至没有公共的API来访问“请勿打扰”function。

我认为这是应用程序的function:

  1. 该应用程序创build和pipe理自己的联系人列表(称为布利斯例外)

  2. 用户必须在“请勿打扰”首选项中进行select。

  3. 该应用程序可以在后台运行,因为它使用位置跟踪(可能只是为了节省电池寿命),所以当用户更改位置时,它可以更新例外列表。

  4. 当收到呼叫时,请勿打扰系统function将检查Bliss例外列表,并使列表中的联系人的所有呼叫静音。

请注意,审阅者抱怨缺乏基于时间的呼叫阻止。 这是不可能的,因为应用程序只能在位置更改时执行代码。

在我的知识中,没有办法通过代码来实现它。 没有提供限制通话的公开API。

但有一个用于检测呼叫的API: CTCallCenter和一个名为CoreTelephonyFramework的框架