我有以下要求,我需要您的宝贵建议和解决方案。
要求 :
每当我接到一个特定号码的呼叫时,我需要进行 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 并获取一些详细信息,我将其设置为更新的标签)。