2015-12-22 40 views
0

我在MediaPlayer上遇到了一個錯誤。 當我點擊我的播放列表中的一個項目時,它會創建一個mp3Player。如果我按回背景音樂播放(一切正常)。但是如果我從我的應用程序中選擇另一首歌曲,應用程序會創建一個新的媒體播放器: 然後我播放了2個音樂!mediaPlayer單實例

我試圖使用「singleTask」,「singleInstance」,它不工作。 我試過「intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);」 沒有這項工作!

也許如果我可以恢復先前的活動,我可以摧毀它,然後創建一個nex mediaplayer沒有? 有人可以幫忙嗎? :D

+1

您是否嘗試過使用MediaPlayer類的Singleton實例? – Bonatti

+0

單身是我想到的東西,但我並沒有真正得到設計! 也許你對我有好的教程? :D因爲我找不到與我相匹配的人 –

+0

簡單來說,Singleton是一個類,其構造函數總是會存在相同的對象。 [甚至維基百科](https://en.wikipedia.org/wiki/Singleton_pattern)都有一個實現示例。這裏的事情是理解這個過程......基本上,而不是讓構造函數構建對象,讓它構建一次,然後將它保存在內存中,直到使用/需要; – Bonatti

回答

0

您可以在清單中簡單地使您的活動android:launchMode =「singleInstance」。 然後在下面的方法

@Override 
protected void onNewIntent(Intent intent) { 
    super.onNewIntent(intent); 
    // do what you want here 
} 

在上述方法中的活動超越控制,您可以重置媒體播放器

+0

好的...很多工作重新創建這一切^^ 謝謝你! :) –

+0

只要你通過startActivity(intent)方法調用活動 – Deepak

+0

,就會調用這個方法,所以我只是把它放在我的代碼上,它會使所有的好?或者我必須添加其他方法 –