前段時間有這樣一個需求,webview顯示一個帶音樂的網頁,在播放音樂的時候進入第三方軟件暫停播放,返回時繼續播放。后來參考了兩篇文章解決了這個問題。 AudioManager audioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE); OnAudioFocusChangeListener listener = new OnAudioFocusChangeListener() { @Override public void onAudioFocusChange(int focusChange) { DebugLog.d(TAG, "onAudioFocusChange: " + focusChange); } } 在onPause方法中執行了如下代碼(把播放音樂的焦點拿走): int i =0; do { int result = audioManager.requestAudioFocus( listener , AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN_TRANSIENT); if (result == AudioManager.AUDIOFOCUS_REQUEST_GRANTED) { DebugLog.d(TAG, "I get Audio right: "); break; } i++; } while (i < 10); 在onResume方法中執行如下代碼(釋放拿走的焦點): if (audioManager!= null) { audioManager.abandonAudioFocus(listener); audioManager = null; } 在執行以上兩段代碼時,有需要加上判斷: if(Build.VERSION.SDK_INT <= Build.VERSION_CODES.ECLAIR_MR1){ return; } 參考的兩篇文章: http://blog.csdn.net/u013478336/article/details/40826673 http://blog.csdn.net/shuaicike/article/details/39930823 以上代碼也是參考了兩篇文章,只取了我需要的部分