当用户返回活动时,Videoview无法启动

时间:2012-07-04 19:19:49

标签: java android android-activity android-videoview

我正在开始一个项目,我想在执行应用程序时在主要活动中重现视频,当用户按下视频进入另一个活动时。如果用户按下后退按钮,他将再次进入主屏幕并从头开始再现视频。该视频位于原始目录中。

问题在于视频视图在首次创建活动时再现视频,而不是当用户从其他活动返回时视频(在我的情况下是MenuSection活动)。代码非常简单,但无论如何我都会粘贴它:

 public class MainActivity extends Activity {
   private VideoView mVideoView;
   LinearLayout menuSection;
   @Override

   public void onCreate(Bundle icicle) {
      super.onCreate(icicle);
      setContentView(R.layout.main);
      mVideoView = (VideoView) findViewById(R.id.surface_view);
      mVideoView.setVideoURI(Uri.parse("android.resource://" + getPackageName() +"/"+R.raw.documentariesandyou));
      mVideoView.requestFocus();
      mVideoView.setMediaController(null); //i dont want the controls of the videoview.
      mVideoView.start();
      menuSection = (LinearLayout) findViewById(R.id.menuSection);
      menuSection.setOnClickListener(new menuSectionListener());

   }

class menuSectionListener implements OnClickListener {
    public void onClick(View v) {
        Intent staticActivityIntent = new Intent(MainActivity.this, MenuSection.class);
        startActivity(staticActivityIntent);        
    }
}

}

MenuSection只是一个显示类似“Hello world”的文本视图的活动,所以我没有粘贴它。

3 个答案:

答案 0 :(得分:2)

mVideoView.start();移至onResume()而不是onCreate()作为:

@Override
    protected void onResume() {
        super.onResume();
        mVideoView.start();
    }

当活动已经开始运行时,请参阅您的活动调用Managing the Activity Lifecycle onResume()

答案 1 :(得分:1)

video.pause()覆盖您的活动方法上致电onPause(),并在活动的video.resume()方法上致电onResume()

答案 2 :(得分:0)

mVideoView.start();移至onStart(),而不是onCreate()

有关活动生命周期如何工作的详细信息,请参阅开发人员文档中的Activity Lifecycle

我不确定,但您可能还需要将setVideoURI();移至onStart()