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);