22

VideoView があり、電子メール インテントを開始すると一時停止します。電子メールの意図が完了したら、videoView の再生を続行したいのですが、最初から再開されます。

@Override
public void onPause() {
    Log.d(TAG, "onPause called");
    super.onPause();
    videoView.pause();
}
@Override
public void onResume() {
    super.onResume();
    Log.d(TAG, "onResume called");
    videoView.start();//resume() doesnt work
}

videoView を中断したところから再開するにはどうすればよいですか。

4

2 に答える 2

34

これはどうですか:

@Override
public void onResume() {
    super.onResume();
    Log.d(TAG, "onResume called");
    videoView.seekTo(stopPosition);
    videoView.start(); //Or use resume() if it doesn't work. I'm not sure
}

// This gets called before onPause so pause video here.
@Override
public void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    stopPosition = videoView.getCurrentPosition(); 
    videoView.pause();
    outState.putInt("position", stopPosition);
}   

次に、 onCreate() でバンドルから stopPosition を呼び出し、グローバルに設定します

@Override
protected void onCreate(Bundle args) {
    super.onCreate(args);
    if( args != null ) {
        stopPosition = args.getInt("position");
    }
于 2012-08-14T21:17:49.227 に答える