iOS实现电话状态监听 CoreTelephony
2024-10-11 21:30:22
在程序中如果需要监听电话状态,可以引入CoreTelephony框架,这个框架包含了电话相关的API,可以实现监测来电,查看运营商信息等功能。下面就是具体的实现监测来电的代码。一定要把center写成一个单独的属性,并且是强引用(strong),否则如果在viewDidLoad
方法里创建center,viewDidLoad
方法调用完后center就销毁了,就无法检测到来电了。
一个通话最初的状态为呼入(CTCallStateIncoming)和呼出(CTCallStateDialing),当接通后状态转变为接通 (CTCallStateConnected),而当通话终止时状态转变为挂断(CTCallStateDisconnected)
CTCallCenter *center = [[CTCallCenter alloc]init];
center_ = center;
center.callEventHandler = ^(CTCall *call){ NSLog(@"call:%@",call.description);
if ([call.callState isEqualToString:@"CTCallStateDialing"]) { //正在呼叫状态
}
if ([call.callState isEqualToString:@"CTCallStateDisconnected"]) { //断开连接状态
} };
最新文章
- 初识exception
- Sql Server 日期查询
- JavaScript 在不刷新或跳转页面的情况下改变当前浏览器地址栏上的网址
- Revit中如何控制图元的显示与隐藏
- Session赋值(备注)
- So easy Webservice 5.WSDL 文件说明
- poj1696Space Ant(逆时针螺旋形)
- HDU 2897 邂逅明下(巴什博奕)
- CentOS服务器 6.6 安装MySQL5.5.46
- centos 5.4 安装nodejs + npm(转)
- 关于微软RDLC报表打印时文字拉伸问题(Windows server 2003 sp2)
- regress_partition.sql
- 52e174ef38c96afbbeabe55d2ec53622 我知道这是什么
- python模块collections中namedtuple()的理解
- vue(8)—— 组件化开发 - webpack(2)
- RHEL6 SoftRaid 更换故障硬盘
- MySQL 存储过程参数
- oracle 索引的创建与使用
- PAT 甲级 1135 Is It A Red-Black Tree
- Spring Boot中CrudRepository与JpaRepository Dao中JpaRepository和JpaSpecificationExecutor查询
热门文章
- SGI STL红黑树中迭代器的边界值分析
- 梁宇轩 mysql 语句学习一 对表的操作
- linux定时任务crontab的使用
- CSS设计模式之三权分立模式篇 ( 转)
- 03_Redis数据类型(List)
- 学习JVM虚拟机原理总结
- PrintDocument打印、预览、打印机设置和打印属性的方法(较完整) .
- SQL Server ->;>; DISABLE索引后插入更新数据再REBUILD索引 和 保留索引直接插入更新数据的性能差异
- HTML <;meta>; Attribute
- 再学UML-深入浅出UML类图(四)