Android中如何监听手机电话状态
来源:互联网 发布:网络招聘的优劣势 编辑:程序博客网 时间:2024/05/01 02:11
问题描述:当应用中需要对来电这一状态进行处理时(例如来电时显示来电话号码归属地等),就需要对电话状态进行监听。
解决步骤:1.对电话状态的监听最好是放在服务中,因为有一种服务的启动方式可以不依赖于activity的生命周期,即使activity被销毁,服务依然在后台运行。因此创建一个Myservice extends Service;
2.创建一个类MyPhoneStateListener extends PhoneStateListener,手动重写电话改变会触发的方法,代码如下:
public void onCallStateChanged(int state, String incomingNumber) {switch (state) {case TelephonyManager.CALL_STATE_IDLE://空闲状态//实现自己的业务逻辑break;case TelephonyManager.CALL_STATE_OFFHOOK://摘机状态,至少有个电话活动,该活动或是拨打或是通话
//实现自己的业务逻辑break;case TelephonyManager.CALL_STATE_RINGING://响铃状态//实现自己的业务逻辑break;default:break;}super.onCallStateChanged(state, incomingNumber);}
3.重写Service中的onCreate()方法和onDestroy()方法,代码如下:@Overridepublic void onCreate() {// 1.获取电话管理者对象mTM = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);mMyPhoneStateListener = new MyPhoneStateListener();mTM.listen(mMyPhoneStateListener, PhoneStateListener.LISTEN_CALL_STATE);super.onCreate();}当服务销毁的时候,取消电话状态的监听。@Overridepublic void onDestroy() {// 取消电话状态的监听if (mTM != null && mMyPhoneStateListener != null) {mTM.listen(mMyPhoneStateListener, PhoneStateListener.LISTEN_NONE);}super.onDestroy();}这样,一旦服务被开启,就会一直监听来电的状态。
0 0
- Android中如何监听手机电话状态
- 如何监听电话状态
- Android监听电话状态
- android 监听电话状态
- android 监听电话状态
- android 监听电话状态
- Android 电话状态监听
- 【Android】监听电话状态
- android电话状态监听
- android电话状态监听
- Android监听电话状态
- Android中如何监听手机GPS打开状态
- android 电话状态的监听
- android监听电话状态问题
- android监听电话状态问题
- android电话状态的监听
- android电话状态的监听
- Android 电话状态的监听
- getprotobyname, getprotobynumber, endprotoent函数的应用
- CI中引用外部类库报出“ Cannot redeclare class IOFactory”错误
- date类实现操作符重载
- [leetCode刷题笔记]2017.04.17
- 出现 org.springframework.beans.factory.BeanCreationException 异常的原因及解决方法
- Android中如何监听手机电话状态
- 二叉树的中序遍历
- ext 简单使用
- Linux 虚拟文件系统(二)Mount、Open;设备文件、挂载和打开文件
- JAVA的反射总结
- SketchUp建模然后导入unity3d中的问题
- TCP的成块数据流
- nyoj-独木舟上的旅行
- 求s=a+aa+aaa+……+aa...a