大家好,我遇到了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);
}
}
为什么会这样?我该怎么做呢?
这不是一个最好的体验,而是让你的设备进入睡眠状态并开始播放视频
答案 0 :(得分:1)
好的,看起来这种行为与活动生命周期以及VideoViewActivity在清单中设置为横向这一事实有关。添加
android:configChanges="keyboardHidden|orientation"
用于该活动 似乎解决了这个问题,然后你把设备只放在onPause()之前调用vs之前 - 所有的生命周期方法都被执行了。 我会做更多的测试,以确保它已修复...