首页 > 解决方案 > 如何在 VrVideoView 的 Displaymode (3) 中强制点击 X(close, back button)?

问题描述

我正在使用 VrVideoView 制作一个 VR Android 应用程序。我想在播放视频后强制单击“关闭(X,后退按钮)”。也就是说,我想在视频结束后返回 MainActivity。以下是我尝试过的代码。但是,视频结束后我没有返回 MainActivity。如果你知道怎么做,请告诉我。

1.

videoWidgetView.pauseVideo();
videoWidgetView.seekTo(0);
videoWidgetView.shutdown();

2.

videoWidgetView.pauseVideo();
videoWidgetView.seekTo(0);
finishActivity(0);

3.

videoWidgetView.pauseVideo();
videoWidgetView.seekTo(0);
findViewById(R.id.ui_back_button).performClick();

4.

videoWidgetView.pauseVideo();
videoWidgetView.seekTo(0);
Field f;

try {

     f =videoWidgetView.getClass().getSuperclass().getDeclaredField("vrUiLayer");
     f.setAccessible(true);
     UiLayer vrLayer = (UiLayer) f.get(videoWidgetView);

     vrLayer.getView().findViewById(R.id.ui_back_button).performClick();

} 
catch (NoSuchFieldException e) {
      e.printStackTrace();
} 
catch (IllegalAccessException e) {
   e.printStackTrace();
}

标签: google-vrvrvideoview

解决方案


只需覆盖OnDestroy方法并将这些行添加到其中:

@Override
protected void onDestroy() {
    videoWidgetView.shutdown();
    super.onDestroy();
}

然后onDestroy()在方法中调用onCompletion方法:

    @Override
    public void onCompletion() {
        videoWidgetView.seekTo(0);
        videoWidgetView.pauseVideo();
        onDestroy();
    }

希望它有效:)


推荐阅读