iOS CoreTelephony 实现监听通话状态
在程序中如果需要监听电话状态,可以引入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"]) { //断开连接状态 } };
以上所述是小编给大家介绍的iOS coretelephony实现监听通话状态的全部叙述,希望对大家有所帮助,如果大家想了解更多内容,敬请关注我们网站!
相关推荐
-
iOS中关于音乐锁屏控制音乐(锁屏信息设置)的实例代码
废话不多说了,直接给大家贴代码了,具体代码如下所示: <pre name="code" class="objc">appDelegate里面加入如下代码获取后台播放权限</pre><pre name="code" class="objc">- (void)setAudioBackstagePlay{ AVAudioSession *audioSession = [AVAudioSession
-
iOS开发中Swift3 监听UITextView文字改变的方法(三种方法)
在项目中使用文本输入框出UITextField之外还会经常使用 UITextView ,难免会有需求监听UITextView文本框内文本数量.下面介绍在swift3中两种常用方式 方式一: 全局通知 1.注册通知 在合适位置注册监听UITextView文本变化的全局通知 //UITextView 监听开始输入的两种方法 //方法一:通知 NotificationCenter.default.addObserver(self, selector: #selector(ComposeVC.textV
-
iOS应用开发中监听键盘事件的代码实例小结
1.注册监听键盘事件的通知 复制代码 代码如下: [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification
-
iOS监听手机锁屏状态
iPhone的锁屏监测分为两种方式监听: 1. 程序在前台,这种比较简单.直接使用Darwin层的通知就可以了: #import <notify.h> #define NotificationLock CFSTR("com.apple.springboard.lockcomplete") #define NotificationChange CFSTR("com.apple.springboard.lockstate") #define Notifica
-
iOS CoreTelephony 实现监听通话状态
在程序中如果需要监听电话状态,可以引入CoreTelephony框架,这个框架包含了电话相关的API,可以实现监测来电,查看运营商信息等功能.下面就是具体的实现监测来电的代码.一定要把center写成一个单独的属性,并且是强引用(strong),否则如果在viewDidLoad方法里创建center,viewDidLoad方法调用完后center就销毁了,就无法检测到来电了. 一个通话最初的状态为呼入(CTCallStateIncoming)和呼出(CTCallStateDialing),当接通
-
Android监听电池状态实例代码
如果要监听电池的状态改变,需要动态注册:android.intent.action.BATTERY_CHANGED,收到Action后可以根据对应的Key获取你需要的信息,更详细信息可以参考以下例子中的BatteryChangedReceiver类 具体代码如下所示: package com.example.charginganimation; import android.app.Activity; import android.content.BroadcastReceiver; impor
-
Android广播接实现监听电话状态(电话的状态,拦截)
首先我们来理解下监听器的机制. Android的事件处理机制有两种:监听和回调. A基于监听的事件处理 主要涉及三类对象:EventSource(事件源),Event(事件),EventListener(事件监听器) 监听机制处理事件的流程图如下(委派式:Delegation): 1:需要在AndroidManifest.xml清单中添加权限 <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS&q
-
Android 广播监听网络状态详解及实例代码
Android 广播监听网络状态 我们在做多线程下载的时候,或者是在加载h5界面的时候,常常会遇到网络状态不好或者断网的时候,在这或者当我们的应用程序启动没有退出的时候,我们就需要对网络状态监听加以判断. 这时候,我们一般情况下,两种方式进行处理. 第一: 开启服务. 第二:发送广播的形式. 建议采用方法二. 源代码如下: 广播: /** * 有网络的广播 */ BroadcastReceiver connectionReceiver = new BroadcastReceiver() { @O
-
Android 监听网络状态方法详解
Android 监听网络状态方法详解 一.加入网络权限 获取网络信息需要在AndroidManifest.xml文件中加入相应的权限. <uses-permission Android:name="android.permission.ACCESS_NETWORK_STATE" /> 二.判断手机网络的几个方案 1)判断是否有网络连接 public boolean isMobileConnected(Context context) { if (context != nul
-
Spring boot + LayIM + t-io 实现文件上传、 监听用户状态的实例代码
前言 今天的主要内容是:LayIM消息中图片,文件的上传对接.用户状态的监听.群在线人数的监听.下面我将挨个介绍. 图片上传 关于Spring boot中的文件上传的博客很多,我也是摘抄了部分代码.上传部分简单介绍,主要介绍在开发过程中遇到的问题.首先我们看一下LayIM的相应的接口: layim.config({ //上传图片接口 ,uploadImage: {url: '/upload/file'} //上传文件接口 ,uploadFile: {url: '/upload/file'} //
-
android 监听网络状态的变化及实战的示例代码
平时我们在请求错误的情况下,通常会进行处理一下,一般来说,主要分为两方面的错误 没有网络的错误 在有网络的情况下,我们客户端的错误或者服务器端的错误 今天这篇博客主要阐述以下问题 怎样监听网络状态的变化,包括是否打开WiFi,否打开数据网络,当前连接的网络是否可用 网络没有打开情况下的处理,如弹出对话框,跳转到 打开 WiFi设置的界面等 非WiFi情况下是否加载图片,是否播放视频等 实现思路 在网络错误的情况下获取网络状态进行判断,这种方法是可行的,但你想过了没有,如果每次都要进行这样的判断,
-
Linux inotify监听文件状态的操作方法
Inotify 是一个 Linux特性,它监控文件系统操作,比如读取.写入和创建.Inotify 反应灵敏,用法非常简单,并且比 cron 任务的繁忙轮询高效得多.学习如何将 inotify 集成到您的应用程序中,并发现一组可用来进一步自动化系统治理的命令行工具. 通俗来说,inotify可以监控文件的状态并且对变化的状态做出一些操作. 安装 yum install inotify-tools -y inotifywait命令可以用来收集有关文件访问信息 inotifywatch命令用于收集关于
-
Android scrollview如何监听滑动状态
ScrollView 视图的滚动过程,其实是在不断修改原点坐标.当手指触摸后,ScrollView会暂时拦截触摸事件,使用一个计时器.假如在计时器到点后没有发生手指移动事件,那么ScrollView发送tracking events到被点击的subView:若是在计时器到点后发生了移动事件,那么ScrollView取消tracking自己促发滚动. 首先说一下 NestedScrollView 的滑动事件的监听, 如果使用 nestedScrollView.setOnScrollChangeLi
-
android音乐播放器监听电话状态实现代码
如下代码是监听电话的状态,代码简单不做介绍直接看代码: 复制代码 代码如下: private boolean mResumeAfterCall = false; private PhoneStateListener mPhoneStateListener = new PhoneStateListener() { @Override public void onCallStateChanged(int state, String incomingNumber) { if (state ==
随机推荐
- java 正则表达式基础,实例学习资料收集大全 原创
- C#中实现一次执行多条带GO的sql语句实例
- Java程序与C语言的区别浅析
- Android模拟器"Failed To Allocate memory 8"错误如何解决
- c语言将字符串中的小写字母转换成大写字母
- 详解Java获取环境变量及系统属性的方法
- mssql无数据库日志文件恢复数据库的方法第1/2页
- jQuery Ajax请求后台数据并在前台接收
- 浅析Dos下运行php.exe,出现没有找到php_mbstring.dll 错误的解决方法
- C#利用正则判断输入是否为纯数字、容器类
- PHP获取昨天、今天及明天日期的方法
- 解析Android中使用自定义字体的实现方法
- Spring Cloud下OAUTH2注销的实现示例
- 解读golang plugin热更新尝试
- 自定义Vue中的v-module双向绑定的实现
- 简单了解Java字符串(操作)
- SpringBoot实用小技巧之如何动态设置日志级别
- python机器学习实现决策树
- C++关于引用作为函数的用法
- RecyclerView+CardView实现横向卡片式滑动效果