Object-C之系统电话监听

1.调用系统电话

///调用系统电话
- (void)onClickOpenTelPhone:(NSString*)telPhoneNumber {

  NSURL *telURL =[NSURL URLWithString:[NSString stringWithFormat:@"tel://%@", telPhoneNumber]];

  [[UIApplication sharedApplication] openURL:telURL];
}

2.监听打电话状态

导入(CoreTelephony/CTCallCenter.h)和(CoreTelephony/CTCall.h)头文件

//1.CTCallCenter *_callCenter;//必须声明属性或者实例变量,要不不会回调block

//2.初始化监听变量
- (void)initCoreTelephoneCTCall {

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

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,796评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,856评论 25 709
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 14,216评论 2 33
  • 有些话,一说就后悔 你是否跟我一样,有过话一说出口就后悔的经历。 说话是一门艺术。我知道自己是个很不会说话的人,在...
    传奇小黑猫阅读 2,224评论 0 6
  • 多少岁月褪色,唯有 印痕在唇齿之间余味悠长 我用力咬住,一枚平淡无奇的日子 晦黯的风雨在我体内 凝结成了毒 多么害...
    青萝0202阅读 2,994评论 0 4