iOS使用CXCallObserver监听电话接听与拨打

news/2025/1/15 18:05:06/

初始化

import CallKitclass HomeViewController: UIViewController, CXCallObserverDelegate {public var cacheManager: TripCacheManager = TripCacheManager.init()override func viewDidLoad() {super.viewDidLoad()self.callObserver.setDelegate(self, queue: DispatchQueue.main)}
}

状态监听

func callObserver(_ callObserver: CXCallObserver, callChanged call: CXCall) {print("call observer uuid: \(call.uuid)")print("outgoing(拨打):\(call.isOutgoing) onHold(待接通):\(call.isOnHold) hasConnected(接通):\(call.hasConnected) hasEnded(挂断):\(call.hasEnded)")}
}

该方法不能通过单一状态来判断当前状态,建议进行多值的判断。

取消监听

self.callObserver.setDelegate(nil, queue: DispatchQueue.main)


http://www.ppmy.cn/news/1281614.html

相关文章

如何处理uni-app中的跨平台差异

在uni-app中,可以通过条件编译和平台判断来处理跨平台差异代码。具体步骤如下: 在uni-app项目的根目录下,找到名为manifest.json的文件,这是uni-app的配置文件。 在manifest.json文件中,可以使用条件编译指令来处理不…

SperingBoot+vue文件上传下载预览

上传文件: 前端: 整个过程,就是在使用FormData 添加 上File(这个Blob),并且key要和后台的名字对应上在点击上传按钮开始上传之前,使用了URL.createObjectURL(File)创建blobUrl,给了…

树莓派Pi4B简介

树莓派是什么?Raspberry Pi(中文名为“树莓派”,简写为RPi,或者RasPi/RPi)是为学生计算机编程教育而设计,只有信用卡大小的卡片式电脑,其系统基于Linux。 树莓派4B与树莓派3B/3B参数对比: 具体的实物图如下&#xff1a…

前端框架前置学习(4) AJAX

同步代码和异步代码 同步代码 浏览器按照我们书写代码的顺序一行一行地执行程序.浏览器会等待代码的解析和工作,在上一行代码完成之后才会执行下一行代码.这被称之为同步程序 逐行执行,需要原地等待结果 异步代码 异步编码技术使得程序可以在执行一个可能长期运行的任务的…

代码随想Day48 | 198.打家劫舍、213.打家劫舍II、337.打家劫舍III

198.打家劫舍 这一题用动态规划五步: 1. dp[i]:到位置i,获得的最大金额; 2. 递推:当前位置偷:dp[i-2]nums[i];当前位置不偷:dp[i-1];dp[i]max(偷,不偷)&…

03-C++ 类和对象

类和对象 1. 概述 1.1 对象 真实存在的事物1.2 类 多个对象抽取其共同特点形成的概念静态特征提取出来的概念称为成员变量,又名属性 动态特征提取出来的概念称为成员函数,又名方法1.3 类与对象的关系 在代码中先有类后有对象 一个类可以有多个对象 …

遇到DDOS怎么办,盾真的可以抗攻击吗

网络在以难以想象的速度发展,黑客们针对网络漏洞发起的攻击也从未停止,但复杂的网络环境让网络安全的维护更为艰难,如果游戏公司没有做好防御措施,黑客发起攻击只是时间问题。在网络攻击愈加多元化的今天,游戏行业可以…

Fortofy扫描安全漏洞解决——Unreleased Resource: Streams未释放资源漏洞

问题描述: 大部分 Unreleased Resource 问题只会导致一般的软件可靠性问题,但如果攻击者能够故意触发资源泄漏,该攻击者就有可能通过耗尽资源池的方式发起 denial of service 攻击。 问题代码: FileInputStream inputStream new…