iOS 系统打电话事件的监听与状态获取

导入CoreTelephony.framework

@property (nonatomic, strong) CTCallCenter *callCenter;

这个一定要声明为属性,如果在某个函数中做声明的话,ARC就会自动在函数执行结束的时候将其释放掉。

#import <CoreTelephony/CTCallCenter.h>  
#import <CoreTelephony/CTCall.h>  
@property (nonatomic, strong) CTCallCenter *callCenter;  
CTCallCenter *callCenter = [[CTCallCenter alloc] init];  
    callCenter.callEventHandler = ^(CTCall* call) {  
        if ([call.callState isEqualToString:CTCallStateDisconnected])  
        {  
            NSLog(@"挂断电话Call has been disconnected");  
        }  
        else if ([call.callState isEqualToString:CTCallStateConnected])  
        {  
            NSLog(@"电话通了Call has just been connected");  
        }  
        else if([call.callState isEqualToString:CTCallStateIncoming])  
        {  
            NSLog(@"来电话了Call is incoming");  
  
        }  
        else if ([call.callState isEqualToString:CTCallStateDialing])  
        {  
            NSLog(@"正在拨出电话call is dialing");  
        }  
        else    
        {    
            NSLog(@"什么没做Nothing is done");  
        }    
    };  

call.callState 这个属性记录了电话操作的状态,具体都有哪些值可以通过头文件得知。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.ios高性能编程 (1).内层 最小的内层平均值和峰值(2).耗电量 高效的算法和数据结构(3).初始化时...
    欧辰_OSR阅读 30,400评论 8 265
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,817评论 1 32
  • 我漫无目的的走在大街上。周围不见一个人,我非常孤单。 等等,我好像知道拟的位置了?什么?它离我不远,就在东偏南49...
    智慧曙光阅读 475评论 1 6
  • java今年最流行的3大框架,不要错过了! 一.springmvc框架 简介:Spring Web MVC是一种基...
    陈安妮annie1阅读 1,596评论 0 0
  • 时光在滴滴答答的钟声中流逝,岁月的风铃在摇落中敲响。一眨眼,六年级的小学生活即将逝去。每次想到这里,我的心...
    粉嫩嫩123阅读 225评论 0 0

友情链接更多精彩内容