2013-01-15 136 views

回答

1

通常情況下,您應該包含更多有關您的問題的詳細信息和代碼,但我碰巧看到您的其他帖子在related matter上。

onResume()中需要以下內容。請注意,如果您在onCreate()中執行mp.start(),則可以刪除該開始,因爲onResume()onCreate()之後被調用。

@Override 
protected void onResume() { 
    if(mp != null && !mp.isPlaying()) 
     mp.start(); 
    super.onResume(); 
} 

start()MeidaPlayer將開始,如果停止或沒玩過,或從那裏暫停,如果它被暫停。如果活動並沒有被破壞

+0

代碼現在在這個問題:),你可以添加你試圖解釋我的方法嗎? @iagreen – Whady

+0

請參閱上面關於放置位置的編輯 – iagreen

+0

當我按下主頁按鈕時,它會起作用:)但是沒有後退按鈕@iagreen – Whady

0

添加這個方法,

@Override 
    protected void onResume() { 
     super.onResume(); 
if(mp != null) 
    mp.start(); 
} 
1

下面只給代碼工作。如果您想在用戶按下後退按鈕時存活,則必須將媒體播放器的當前狀態寫入文件,並在活動重新開始時重新加載。

雖然我不確定這是正確的行爲。按下後退按鈕後,應用程序應終止,並在下次啓動時處於復位狀態。我認爲。如果後退按鈕在您的應用中用於導航,解決方案是在終止應用的最後一個後退按鈕上放置一個警告,詢問用戶是否真的想要退出。覆蓋 Activity.onBackPressed自定義後退按鈕的行爲。

請注意,即使在暫停狀態下,如果系統正在尋找更多內存,屏幕翻轉或其他幾個高級系統狀態發生變化,您的活動也會被破壞。要處理這種情況,您需要實施savedInstanceState處理。實現Activity.onSaveInstanceState,然後在onCreate的實現中查找非null的savedInstanceState參數。

在這兩種情況下,您都必須實施一些方法來重新創建媒體播放器,再次準備音頻並在復活的音頻中尋找正確的位置。

+0

所以你說我可以在用戶按下後退按鈕時添加一個警告消息窗口?這是一個好主意,但如果有一些代碼或方法能夠滿足我的問題(關於後退按鈕),那麼將它很好地融入到我的代碼中@Ed Rowland – Whady

+0

thanks!我會牢記它! – Whady

+0

在這裏編寫Alert的源代碼太複雜了。基本情節摘要是在onBackPressed的重寫中顯示警報,並返回true以表示您已處理它。警報中肯定按鈕的OnClick處理程序應該調用Activity.finish()來終止活動。 –

相關問題