ios - 如何在来电屏幕上实现 "contact"按钮

标签 ios ios9 telephony incoming-call

最近我安装了一个名为“Ringo”的应用程序,他们正在做的是另一回事。但是当他们调用您的电话时看到“联系”按钮让我感到惊讶。请参阅随附的屏幕截图。

他们基本上在我的地址簿中创建了一个带有图像的联系人,当他们使用添加的号码之一调用我的电话号码时,我得到了这个屏幕,这个屏幕与通常的联系人来电屏幕不同。如果我为联系人设置图像,当他们给我打电话时,我会得到该联系人的全屏图像。名称居中对齐,没有按钮可以转到该联系人。

我希望实现同样的目标。在地址簿中添加联系人时,这是某种设置吗?或者这是某种技巧。

enter image description here

最佳答案

实际上有两种类型的图像可以与联系人相关联:

  • 一个“大”图像,只能在设备本身上设置,并且据称不会通过 iCloud 同步。以编程方式,这将通过 ABPersonSetImageData

  • 进行操作
  • 较小的“照片”和“ Logo ”图像,可能包含在 vCard 中(参见 https://en.wikipedia.org/wiki/VCard#Properties 中的 PHOTOLOGO)。

我相信前者是全屏显示的,而后者(或者可能只是两者之一)显示为右上角的小图标。

我还没有找到设置它们的直接方法,但您可以生成 vCard 并将其传递给 ABPersonCreatePeopleInSourceWithVCardRepresentation。您必须包含图像的 URL 或 base-64 表示形式。

或者,它可能只是基于图片的大小,但我不知道确切的阈值是多少,考虑到 Retina 大小等。

关于ios - 如何在来电屏幕上实现 "contact"按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34150485/

相关文章:

objective-c - 核心数据中的新子对象创建“幽灵”父对象?

ios - ViewController 的属性为零

ios - 在 iOS 8.3 上注册 Nib/Class 单元崩溃

macos - 升级到 OSX El Capitan 后 iOS 模拟器 NSPOSIXErrorDomain Code=2

android - 如何以编程方式断开android中的来电

objective-c - 如何将原始字节写入 NSMutableData 对象?

iOS9导致iPhone 5优化丢失

iOS 9 黑色启动屏幕

android - 一些 GSM 设备在 Android 上因 CDMA SignalStrength 错误而崩溃

iphone - iOS根据来电显示通知