大家好,我在使用 VideoView
时遇到了另一个问题。
然后播放视频,我使用硬按钮让设备进入休眠状态,调用 onPause()
。但紧随其后的是:
03-17 11:26:33.779: WARN/ActivityManager(884): Activity pause timeout for HistoryRecord{4359f620 com.package/com.package.VideoViewActivity}
然后我再次使用 onStart()
/onResume()
并开始播放视频。我尝试在 onStart()
/onStop()
周围移动代码 - 似乎没有什么区别。
示例代码:
public class VideoViewActivity extends Activity {
private String path = "";
private VideoView mVideoView;
private static final String MEDIA_URL = "media_url";
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.videoview);
mVideoView = (VideoView)findViewById(R.id.surface_view);
path = getIntent().getStringExtra(MEDIA_URL);
}
@Override
public void onResume() {
super.onResume();
mVideoView.setVideoPath(path);
mVideoView.setMediaController(new MediaController(this));
mVideoView.requestFocus();
mVideoView.start();
}
@Override
public void onPause() {
super.onPause();
mVideoView.stopPlayback();
mVideoView.setMediaController(null);
}
}
为什么会这样?我该如何阻止它?
将设备置于 sleep 状态并开始播放视频,这不是最好的体验
最佳答案
好的,看起来该行为与 Activity 生命周期以及 VideoViewActivity 在 list 中设置为横向的事实有关。添加
android:configChanges="keyboardHidden|orientation"
对于那个 Activity 似乎解决了这个问题,然后你只让设备进入休眠状态 onPause() 调用 vs 之前 - 所有生命周期方法都被执行了。 我会做更多测试以确保它已修复...
关于android - VideoView 播放的 Activity LifeCycle 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2464342/