android 监听复电

android 监听来电获取到管理电话管理对象.TelephonyManager manager (TelephonyManager) this.getSystem

android 监听来电
获取到管理电话管理对象.

TelephonyManager manager = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);


通过这个管理对象注册监听

manager.listen(listener, events)


其中listener是具体监听事件

events 设为  PhoneStateListener.LISTEN_CALL_STATE 


新建一个listener实例. 父类为 PhoneStateListener.

重写public void onCallStateChanged(int state, String incomingNumber)

添加自定义逻辑即可,其中

state 有  TelephonyManager.CALL_STATE_RINGING

TelephonyManager.CALL_STATE_IDLE

TelephonyManager.CALL_STATE_OFFHOOK

常用的三种状态...

大概代码..

manager.listen(new PhoneStateListener() {@Overridepublic void onCallStateChanged(int state, String incomingNumber) {super.onCallStateChanged(state, incomingNumber);Log.v("caodongquan", state + "  " + incomingNumber);if (state == TelephonyManager.CALL_STATE_RINGING) {} else if (state == TelephonyManager.CALL_STATE_IDLE) {}else if(state == TelephonyManager.CALL_STATE_OFFHOOK){}}}, PhoneStateListener.LISTEN_CALL_STATE);