首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >除白色联系人外,Callkit能阻止所有电话吗?

除白色联系人外,Callkit能阻止所有电话吗?
EN

Stack Overflow用户
提问于 2017-11-08 15:26:51
回答 2查看 1.3K关注 0票数 11

是否可以在iOS 11中创建一个白名单调用阻塞应用程序?

例如,除联系人列表中的数字外,我希望阻止所有数字。

看起来,api只允许您创建要阻止的数字列表,而不是要允许的数字列表。

https://developer.apple.com/documentation/callkit

EN

回答 2

Stack Overflow用户

发布于 2018-12-21 05:22:29

是的,你只能阻止特定的列表,你没有反转的权限。这违反了苹果的政策。不确定是否可能通过使用私有apis,否则通过公共/合法的方式,您不能这样做。

这是苹果公司文档中的文字:

当电话接收到来电时,系统首先查询用户的阻止列表,以确定是否应阻止呼叫。如果电话号码不在用户或系统定义的阻止列表中,则系统将查询应用程序的“呼叫目录”分机,以查找与其匹配的阻塞号。

上面的文字清楚地指出,当接到电话时,它只查询您的列表以查看阻止列表,反转情况不可用。

即使您可以删除其他应用程序添加的阻塞联系人,您也只能访问通过应用程序的呼叫目录扩展添加的阻塞号码。

因此,如果您正在考虑阻塞除某些列表之外的所有数字,那么这在iOS中是不可能的。

票数 2
EN

Stack Overflow用户

发布于 2018-12-21 06:57:45

你不能用CallKit实现这一点,但是有一种方法(大得多更复杂)可以拒绝来电,用外部蓝牙设备做你想做的事情--就像这样的原型板 (产品不再销售,但你会在网络上找到其他一些不错的平板)。

诀窍是将应用程序与实现苹果ANCS配置文件的蓝牙设备配对。此配置文件将使您的设备能够响应传入的通知和呼叫..。看到它来了吗?您可以想象这是一个极简式的iWatch,您可以在其中回答或拒绝调用和任何通知。如果您的应用程序是连接的,并可以与设备通信,那么它将能够发送命令,要求拒绝您的电话。

因此,在最后,它将是这样运作的:

  1. 你连接成对的蓝牙设备,
  2. 当您收到呼叫时,它会向您发送呼叫者标识符,
  3. 将此标识符与白名单进行比较,
  4. 如果不存在,则请设备对呼叫通知回答“否”,
  5. 电话被拒绝了。

当然,这与您在问这个问题时所期望的很远,但值得一提的是,这是唯一可行的(并经过测试!)今天的解决方案。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47183540

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档