当应用程序从后台进入前台时,onBackPress()不工作。

问题描述 投票:0回答:1

我的活动中有一个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);
    }
}

如果你需要任何信息,请告诉我。

java android android-activity android-videoview onbackpressed
1个回答
0
投票

在你的override onBackPressed()方法里面调用super.onBackPressed()。


0
投票

你没有调用 findViewById 对于 videoView.

1) 确保在你的 xmlvideoView 你加一个 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();
    }
© www.soinside.com 2019 - 2024. All rights reserved.