PhoneStateListener一般用于TelephonyManager的监听
private class MyPhoneStateListener extends PhoneStateListener {
public MyPhoneStateListener() {
}
public void onCallStateChanged(int state, String incomingNumber) {
switch (state) {
case TelephonyManager.CALL_STATE_IDLE:
//progress
break;
case TelephonyManager.CALL_STATE_RINGING:
//progress
break;
default:
break;
}
}
}
TelephonyManager mTelephonyMgr = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
mTelephonyMgr.listen(new MyPhoneStateListener(),PhoneStateListener.LISTEN_CALL_STATE);
这样设置问题就来了,第一次CALL时正常,第二次CALL会执行上次的listen,简单方法
mTelephonyMgr.getCallState()
就行了。