2011-12-30 299 views
0

我有一個意圖,啓動一個音頻播放器意圖,並播放音頻文件。音頻播放器的場外是我的應用程序的外部。當用戶按下後退按鈕時,我的活動再次顯示給用戶。我想在用戶按下後退按鈕時關閉音頻播放器。我怎樣才能控制這一點。Android播放音頻文件

+0

當您點擊後退按鈕時,音頻播放器將默認關閉,並且您的活動將顯示,因爲它是堆棧中的上一個活動。你想實現什麼? – Egor 2011-12-30 08:39:45

回答

1

我放在我的呼喚活動OnResume()這個代碼,它就像一個創業板。

AudioManager audioManager = (AudioManager) getSystemService(AUDIO_SERVICE); 

AudioManager mAudioManager = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);  
if (mAudioManager.isMusicActive()) 
{ 

    Intent i = new Intent("com.android.music.musicservicecommand"); 
    i.putExtra("command", "pause"); 
    this.sendBroadcast(i); 
} 
2

有兩種選擇,以達到您的要求

  1. 呼叫 「完成()」 startActivity()之後,這是用來啓動audioplayer。 finish()函數會關閉你的應用程序,當用戶按下audioplayer上的按鈕時,Android會顯示以前的活動,很可能是主屏幕。

  2. 當您開始活動時,用戶CLEAR_TOP標誌。清除頂部標誌將清除所有頂級活動,因此當用戶從音頻播放器按下時,Android OS將顯示主屏幕。

    Intent i = new Intent(......);

    i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);

    startActivity(i);

謝謝

+0

但是,當用戶按下音頻播放器上的後退按鈕時,播放器關閉並顯示我的活動。但音頻由於某種原因繼續播放。這是一個電話特定問題,還是預期的結果。對於這兩種情況,當用戶返回到我的屏幕時,我想停止播放音頻。 – AndroidDev 2011-12-30 09:29:52

+0

你好,這是音頻播放器的默認行爲,當你按下它將繼續在後臺運行。 – 2011-12-30 09:56:09

+0

所以我想讓它停止播放。任何想法如何實現? – AndroidDev 2011-12-30 10:22:36