我的活动中有一个videoView,当应用程序从后台进入前景时,onBackPress()不工作,当我锁定手机和解锁手机时也是如此,因为videoView.seekTo(1)。我们如何解决它
以下是我的代码。请帮助我
public class VideoPreviewActivity extends implements View.OnClickListener {
TextView tv_response;
ImageView iv_video_preview;
VideoView videoView;
@SuppressLint({"ClickableViewAccessibility", "InlinedApi"})
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_video_preview);
processIntent(getIntent());
}
public void processIntent(Intent intent) {
int is_doc_context = intent.getIntExtra(IS_DOC_CONTEXT, 2);
if (is_doc_context == 1) {
final MediaController mc = new MediaController(this);
mc.setVisibility(View.GONE);
mc.setAnchorView(videoView);
mc.setMediaPlayer(videoView);
final Uri video = Uri.parse(videoFileString);
videoView.setMediaController(mc);
videoView.setVideoURI(video);
videoView.seekTo( 1 );
videoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
}
});
}
}
@Override
protected void onResume() {
videoView.seekTo( 1 );
super.onResume();
}
@Override
protected void onPause() {
if (videoView.isPlaying()){
videoView.stopPlayback();
}
super.onPause();
}
@Override
public void onBackPressed() {
LibUtils.onBackButtonClick(VideoPreviewActivity.this);
}
}
如果你需要任何信息,请告诉我。
在你的override onBackPressed()方法里面调用super.onBackPressed()。
你没有调用 findViewById
对于 videoView
.
1) 确保在你的 xml
的 videoView
你加一个 id
:
<VideoView
android:id="@+id/video_view"
android:layout_height="......"
android:layout_width="......." />
(2) 在下列情况下进行 onCreate()
:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_video_preview);
processIntent(getIntent());
//here find the video view
videoView = findViewById(R.id.video_view);
}
3)还有一件事,在你 onBackPressed()
:
@Override
public void onBackPressed() {
LibUtils.onBackButtonClick(VideoPreviewActivity.this);
//add this
super.onBackPressed();
}