如何调用我们的应用程序并获取来电的详细信息?

2024-03-05

如果我的应用程序中保存了任何号码,并且该用户在我的 iPhone 上呼叫我,那么我想通过屏幕调用我的应用程序,用户可以在屏幕上填写有关该呼叫的信息。(例如呼叫持续时间、呼叫者姓名和一些应用程序特定的详细信息)

请指导我如何在 iOS 中实现通话记录。我不确定苹果是否允许我们获取有关由普通拨号器而不是我的应用程序完成的呼叫的信息。

我找到了这个链接:iOS 中的通话记录、短信历史记录、电子邮件历史记录 https://stackoverflow.com/questions/9822031/call-history-sms-history-email-history-in-ios但如果该用户联系号码保存在我的应用程序中,我想在来电时调用我的应用程序。

请帮助我或建议我解决方案或是否可行。


iOS 10+:

Use Callkit https://developer.apple.com/reference/callkit,并检查呼叫目录扩展

以下方法被调用:仅当系统启动应用程序时 分机,而不是对于每个单独的呼叫,您必须指定呼叫 一次性提供所有身份信息;例如,你不能使 对 Web 服务的请求,以查找有关来电的信息。

Use the addIdentificationEntry(withNextSequentialPhoneNumber:label:) method.

class CustomCallDirectoryProvider: CXCallDirectoryProvider {
    override func beginRequest(with context: CXCallDirectoryExtensionContext) {
        let labelsKeyedByPhoneNumber: [CXCallDirectoryPhoneNumber: String] = [ … ]
        for (phoneNumber, label) in labelsKeyedByPhoneNumber.sorted(by: <) {
            context.addIdentificationEntry(withNextSequentialPhoneNumber: phoneNumber, label: label)        
        }

        context.completeRequest()
    }
}

据苹果公司称:

识别来电者 当手机接到来电时, 系统首先查询用户的联系人以查找匹配的手机 数字。如果未找到匹配项,系统将查询您应用程序的 Call 目录扩展查找匹配条目来识别电话 数字。这对于维护联系人列表的应用程序很有用 对于与系统联系人无关的用户,例如社交用户 网络,或用于识别可能从以下位置发起的来电 在应用程序内,例如用于客户服务支持或送货 通知。例如,考虑一个与 Jane 是朋友的用户 一个社交网络应用程序,但谁没有她的电话号码 他们的联系方式。社交网络应用程序有一个呼叫目录应用程序 扩展程序,它下载并添加所有的电话号码 用户的朋友。因此,当用户接到来电时 根据 Jane 的说法,系统显示类似“(应用程序名称)来电显示: 简·苹果籽”而不是“未知来电者”。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何调用我们的应用程序并获取来电的详细信息? 的相关文章

随机推荐

  • jasmine angularjs 测试 - 参数“PhoneListCtrl”不是函数,未定义

    When running an angularjs Jasmine Karma test I got following error 我的测试脚本是 describe PhoneCat controllers function descri
  • 嵌入可执行文件中的 Qt 图标

    我的选项卡小部件上有一些按钮 这些按钮顶部需要有一些图标 我知道 QPixmap 允许我将图像放在按钮顶部 但我看到这些构造函数将文件路径作为参数 我想避免在构建后在文件中拖动图标 我想以某种方式将这些图标嵌入到可执行文件中 以减少为了使其
  • JavaDocs 抛出 IllegalArgumentException

    我正在使用 Intellij Idea 当我生成 JavaDocs 通过 工具 gt 生成 JavaDoc 时 我会抛出一个 IllegealArgumentException 异常 但没有任何有关发生问题的信息 即使没有 JavaDoc
  • pytest:无法模拟我的班级的 __init__

    我有一个习惯Db类 具有基本操作 我正在尝试围绕它编写测试 在 init 在我的班级中 我正在连接到我想避免的实际数据库 因为我只是编写单元测试 不需要连接到实际数据库 这是我的代码 mock patch mydb Db pytest ma
  • 调试服务

    我编写了一个带有远程接口的服务并将其安装在我的 PC 的 Eclipse AVD 上 我有一个客户端测试工具 它启动并调用服务中的方法 最初 我通过控制类和活动安装了该服务 现在我已将其删除 因此该服务的清单如下所示
  • 请求中的 URL 超出最大重试次数

    我正在尝试获取以下内容应用商店 gt 商业 https itunes apple com in genre ios business id6000 mt 8 import requests from lxml import html pag
  • Crystal Reports 文本截断详细信息部分中的最后一行

    我有一个 Crystal Report 11 文件 它是一封信 第一个详细信息部分包含一个大文本框 其中包含打印日期 地址块和称呼行 每隔一段时间 文本框的最后一行就会被切断 这样就看不到称呼了 这是非常不一致的 因为有时 我为系统中的一个
  • BlackBerry 中的图像按钮

    如何在 BlackBerry 中实现图像按钮 在这里 完整的代码 import net rim device api system Bitmap import net rim device api ui Graphics import ne
  • Python 将 args 转换为 kwargs

    我正在编写一个装饰器 它需要在调用它正在装饰的函数之前调用其他函数 装饰函数可以具有位置参数 但装饰器将调用的函数只能接受关键字参数 有人有一种将位置参数转换为关键字参数的便捷方法吗 我知道我可以获得修饰函数的变量名列表 gt gt gt
  • 正确的 javascript 继承

    我读了很多关于 javascript 中 继承 的文章 其中一些使用new当其他人推荐时Object Create 我读得越多 就越感到困惑 因为似乎存在无数的变体来解决继承问题 有人可以向我展示最受接受的方式 或者事实上的标准 如果有的话
  • 为什么动态更新 DOM 时 html 源不会改变

    我之前发过一个问题jQuery 在 IE 8 和 FF 3 5 8 中设置只读属性不一致 https stackoverflow com questions 2381621 jquery inconsistency in setting r
  • @error 指令不在 Laravel 视图中显示错误

    我正在研究自定义 Laravel 登录实现 我已从控制器返回错误 如下所示 credentials request gt only email password if Auth attempt credentials Authenticat
  • 如何在android上获取处理器编号

    大家好 我想获取android上的处理器编号 我可以这样做吗 int processporNum sysconf SC NPROCESSORS CONF 但每次在我的某些手机上返回值都是1 所以我不确定这个方法是否正确 是否有其他API可以
  • matplotlib 绘图 沿绘图线的标签

    matplotlib 社区的一份 假设我有一条直线 plot 37 45 0 67778 0 67778 k lw 1 2 我可以沿着线而不是在图例中向该线添加标签吗 即 类似于以下内容 但不是等高线图 只是普通的线图 下面是一个例子 只是
  • OpenSSl + PHP如何实现[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我需要在项目中使用 openSSL
  • 如何删除pandas中每组的第一行

    我有一个像这样的数据框 id values 0 1 3 1 1 6 2 1 3 3 2 7 4 2 6 5 2 3 6 2 9 我想根据删除每组的第一行id 结果应该是这样的 id values 1 1 6 2 1 3 4 2 6 5 2
  • 使用 JS 将任何标签内的文本复制到剪贴板[重复]

    这个问题在这里已经有答案了 我需要复制 p 标签内的文本 我尝试使用以下代码 HTML p Text to copy p
  • Subversion 中的合并比 Team Foundation System 中的合并更困难吗?

    我习惯了使用TFS 我的公司现在正在为一个新项目切换到SVN 主要原因是为了更好地将我们的java和 Net代码库合并在同一源代码控制下 我被赋予理解颠覆中的合并是困难的 杰夫提到了这一点 https blog stackoverflow
  • java中的cloneable接口有什么用?

    实现可克隆接口有什么用 因为它是一个标记接口 我总是可以在我的类中创建一个公共 Object clone 方法 可克隆接口的实际用途是什么 那是因为clone 方法抛出CloneNotSupportedException如果你的对象不是Cl
  • 如何调用我们的应用程序并获取来电的详细信息?

    如果我的应用程序中保存了任何号码 并且该用户在我的 iPhone 上呼叫我 那么我想通过屏幕调用我的应用程序 用户可以在屏幕上填写有关该呼叫的信息 例如呼叫持续时间 呼叫者姓名和一些应用程序特定的详细信息 请指导我如何在 iOS 中实现通话