Как заставить нажать X (закрыть, кнопка назад) в режиме отображения (3) VrVideoView? - PullRequest
0 голосов
/ 03 апреля 2019

Я делаю приложение для Android VR, используя VrVideoView.Я хочу принудительно нажать кнопку «Закрыть (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();
}

1 Ответ

1 голос
/ 16 апреля 2019

Просто переопределите метод OnDestroy и добавьте в него следующие строки:

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

Затем вызовите метод onDestroy() в методе onCompletion:

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

Надеюсь, он работает:) * +1010 *

...