当我们打电话的时候,当然不希望歌曲还在唱着,希望手机软件能智能些,来电时暂停,通话结束时继续播放。所以这里我们就用到了android带的电话监听功能。下面请看代码:
首先在onCreate函数里获取服务:
TelephonyManager telManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);//取得TelephonyManager服务 telManager.listen(new MobliePhoneStateListener(),PhoneStateListener.LISTEN_CALL_STATE);
然后是写一个继承PhoneStateListener的自定义函数:
//电话监听 private class MobliePhoneStateListener extends PhoneStateListener { @Override public void onCallStateChanged(int state, String incomingNumber) { switch (state) { case TelephonyManager.CALL_STATE_IDLE: /* 无任何状态时 */ rePlay(); break; case TelephonyManager.CALL_STATE_OFFHOOK: /* 接起电话时 */ case TelephonyManager.CALL_STATE_RINGING: /* 电话进来时 */ pause(); break; default: break; } } }
就这样,不知不觉电话监听功能就实现了。