2013-04-18 69 views
0

我正在寫一個簡單的應用程序,其中活動A有一首歌正在播放。當按下按鈕時,媒體播放器暫停並且活動B打開。當用戶回到活動A時,媒體播放器應該恢復(從停止的地方)。我的問題是,當您按下活動B上的後退按鈕時會發生什麼?我知道活動B將被殺害,但是從活動A加載的onResume?我在哪裏指導恢復?Android:實例狀態和媒體播放器

+0

是'的onResume()任何一種機器人編程之前閱讀Activity Lifecycle會叫做。作爲我在活動A – FoamyGuy

回答

0

看來你有

`在活動A
+0

onStart()'我有mediaplayer.start();在我的onResume函數中,當我從活動b中點擊後退按鈕時沒有任何反應。爲什麼是這樣? –

+1

請顯示您的代碼 – stinepike

0

我的代碼如下

public class Homework extends Activity { 

final MediaPlayer mediaplayer = new MediaPlayer(); 
int media_length; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_homework); 

    setContentView(R.layout.activity_homework); 
    AssetFileDescriptor afd; 
    try { 
     afd = getAssets().openFd("rev.mp3"); 
     mediaplayer.setDataSource(afd.getFileDescriptor(),afd.getStartOffset(),afd.getLength()); 
     mediaplayer.prepare(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    mediaplayer.start(); 
    Button next = (Button) findViewById(R.id.homeworkContinue); 
    final Intent openCloser = new Intent(this, EndActivity.class); 
    next.setOnClickListener(new OnClickListener(){ 

     @Override 
     public void onClick(View v) { 
      mediaplayer.pause(); 
      media_length = mediaplayer.getCurrentPosition(); 
      startActivity(openCloser); 

     } 

    }); 
} 

public void onResume(Bundle savedInstanceState){ 
    super.onResume(); 
    mediaplayer.seekTo(media_length); 
    mediaplayer.start(); 
} 

}

+0

您面臨的挑戰是什麼? – stinepike

+0

基本上,當我從活動b點擊後退按鈕時,它會重新加載到此活動中,並且不會播放任何內容。 –