录音SoundRecorder默认情况下,进入后台和锁屏是会暂停录音的,有时候我们希望进入后台和锁屏后仍然可以录音,那就需要对录音SoundRecorder做出相应的修改。
根据现象,我们第一时间应该考虑的是从生命周期出发,因为进入后台后,录音就停止了,猜测应该是在onPause或者是onStop中做了什么处理,通过查看SoundRecorder.java 中onPause和onStop中的逻辑确实是做了处理,具体修改如下:
一、修改SoundRecorder.java,android/packages/apps/SoundRecorder/src/com/android/soundrecorder/SoundRecorder.java
1、onPause方法中,将停止录音的逻辑屏蔽掉,修改如下
@Override
protected void onPause() {
// Stop listening for phone state changes.
/*for(int i = 0; i < mPhoneCount; i++) {
// adapt case: disabled telephony feature or activate card failure
if (null != mPhoneStateListener[i]) {
mTelephonyManager.listen(mPhoneStateListener[i],
PhoneStateListener.LISTEN_NONE);
}
}
mRecorder.stop();
// if