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()
?就行了。