TelephonyManager mTelephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); mTelephonyManager.listen(new PhoneCallListener(), PhoneCallListener.LISTEN_CALL_STATE); public class PhoneCallListener extends PhoneStateListener { @Override public void onCallStateChanged(int state, String incomingNumber) { switch (state) { case TelephonyManager.CALL_STATE_IDLE: Log.v(this.getClass().getName(), "onCallStateChanged-state: " + state); break; case TelephonyManager.CALL_STATE_OFFHOOK: Log.v(this.getClass().getName(), "onCallStateChanged-state: " + state); break; case TelephonyManager.CALL_STATE_RINGING: Log.v(this.getClass().getName(), "onCallStateChanged-incomingNumber: " + incomingNumber); break; } super.onCallStateChanged(state, incomingNumber); } }
权限设置:android
<uses-permission android:name="android.permission.READ_PHONE_STATE" />