监听手机状态之PhoneStateListener


 首选,第一步,自定义一个监听器:

private PhoneStateListener mPhoneStateListener = new PhoneStateListener() {

		@Override
		public void onCallStateChanged(int state, String incomingNumber) {
			// TODO Auto-generated method stub
			super.onCallStateChanged(state, incomingNumber);
			android.util.Log.d("zdq", "AlarmAlertFullScreen.java --> mPhoneStateListener -- ");
			android.util.Log.d("zdq", "state="+state);
			if(state == TelephonyManager.CALL_STATE_OFFHOOK) {
				//通话中...
			} else if(state == TelephonyManager.CALL_STATE_IDLE) {//空闲中...}
		}
    	
    };

第二步,注册监听器:

private TelephonyManager mTelephonyManager;
        mTelephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
        mTelephonyManager.listen(mPhoneStateListener, PhoneStateListener.LISTEN_CALL_STATE);

第三步,停止 或者 说是 取消监听:

mTelephonyManager.listen(mPhoneStateListener, PhoneStateListener.LISTEN_NONE);

或者是:
mTelephonyManager.listen(mPhoneStateListener, 0);
都行。



版权声明:本文为zheng_buding原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。