ios - CallDirectory - 如何为电话号码添加动态标签文本
问题描述
我有以下要求,我需要您的宝贵建议和解决方案。
要求 :
每当我接到一个特定号码的呼叫时,我需要进行 API 调用并获取一些信息,并且需要将其与呼叫者 ID 一起显示为标签文本。
请建议是否可以满足要求,如果可以,请指导我解决方案。
我按照以下步骤操作:
- 创建 CallDirectoryExtension 并添加带有一些标签的特定号码。
- 打开呼叫识别和阻止
- 每当我打电话时 [App Name] 被叫 ID:[Label] 被显示而不是 Unknown。
- 为了识别来电,我使用了 CXCallObserver 和 public func callObserver(_ callObserver: CXCallObserver, callChanged call: CXCall) 方法。
- 调用所需的 API 并将数据保存在应用组下的 Userdefaults 中。
- 调用 CXCallDirectoryManager.sharedInstance .reloadExtension(withIdentifier: "com.example.Sample.SampleDirectory") 重新执行 CXCallDirectoryProvider 的方法覆盖 func beginRequest(with context: CXCallDirectoryExtensionContext) context.addIdentificationEntry(withNextSequentialPhoneNumber: phoneNumber, label: label) 正在执行通过从应用组使用默认值获取新更改的标签。
- 但是在呼叫者屏幕中,标签没有得到更新。
当有来电时,请建议我如何更改标签(调用 API 并获取一些详细信息,我将其设置为更新的标签)。
解决方案
CallDirectory Extension 不支持您的请求。相反,必须事先提供您要识别/阻止的所有电话号码,以便操作系统匹配和识别。
这意味着当电话响起时,如果号码与用户的联系人不匹配,则操作系统会查询 CallDirectory 分机。如果phone 已添加,则匹配。
根据我对您的理解,您将获得更新的标签,但对于随后的来电(可能),但绝对不是当前的。
推荐阅读
- flutter - 使用字母列表滚动视图时在卡片之间添加间距
- css - CSS 网格自动填充列
- python - 语音状态更新事件无法正常工作
- python - 如何获取字符串数字后的元素?
- python - 如何将 Google Ads 批处理流解析为 pandas 数据框?
- angular - 类型“对象”不可分配给类型“NgIterable”
| 空 | 不明确的'。在角 11 - python - web-scrape:获取 H4 属性和 href
- sql - 没有交叉乘积重复的 SQL 百分比完成查询
- python - 检查字符串是否是字谜
- javascript - Number.isNaN 不适用于输入验证