在程序中如果需要监听电话状态,可以引入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"]) { //断开连接状态
} };
												

最新文章

  1. 初识exception
  2. Sql Server 日期查询
  3. JavaScript 在不刷新或跳转页面的情况下改变当前浏览器地址栏上的网址
  4. Revit中如何控制图元的显示与隐藏
  5. Session赋值(备注)
  6. So easy Webservice 5.WSDL 文件说明
  7. poj1696Space Ant(逆时针螺旋形)
  8. HDU 2897 邂逅明下(巴什博奕)
  9. CentOS服务器 6.6 安装MySQL5.5.46
  10. centos 5.4 安装nodejs + npm(转)
  11. 关于微软RDLC报表打印时文字拉伸问题(Windows server 2003 sp2)
  12. regress_partition.sql
  13. 52e174ef38c96afbbeabe55d2ec53622 我知道这是什么
  14. python模块collections中namedtuple()的理解
  15. vue(8)—— 组件化开发 - webpack(2)
  16. RHEL6 SoftRaid 更换故障硬盘
  17. MySQL 存储过程参数
  18. oracle 索引的创建与使用
  19. PAT 甲级 1135 Is It A Red-Black Tree
  20. Spring Boot中CrudRepository与JpaRepository Dao中JpaRepository和JpaSpecificationExecutor查询

热门文章

  1. SGI STL红黑树中迭代器的边界值分析
  2. 梁宇轩 mysql 语句学习一 对表的操作
  3. linux定时任务crontab的使用
  4. CSS设计模式之三权分立模式篇 ( 转)
  5. 03_Redis数据类型(List)
  6. 学习JVM虚拟机原理总结
  7. PrintDocument打印、预览、打印机设置和打印属性的方法(较完整) .
  8. SQL Server ->> DISABLE索引后插入更新数据再REBUILD索引 和 保留索引直接插入更新数据的性能差异
  9. HTML <meta> Attribute
  10. 再学UML-深入浅出UML类图(四)