【问题标题】:Android:Html 5 Video does not stop on activity finishAndroid:Html 5 视频在活动完成时不会停止
【发布时间】:2012-04-22 17:28:12
【问题描述】:

我创建了一个 android 活动,其中我有一个网络视图。我已经给了 webview 的 html5 文件路径。

Html 5 文件包含一个视频标签,我在其中从服务器调用 android 兼容的 mp4 视频,例如:“http://xxx/test/abc.mp4”。

视频在 webview 中可以很好地播放,但是当视频处于缓冲模式并且我关闭 webview 或通过按 android 平板电脑上的后退按钮关闭活动时,即使活动完成,该视频仍会在背景中播放。

当我关闭活动并且视频处于播放模式(而不是缓冲模式)时,视频会正常停止而没有任何问题。

我已尝试关闭 webview 线程,如:“http://stackoverflow.com/questions/5946698/how-to-stop-youtube-video-playing-in-android-webview”中所述,但没有运气。 ...

请在这方面提供帮助。我被困在过去 5 天的问题中。

提前谢谢... 克坦

【问题讨论】:

    标签: android html video webview


    【解决方案1】:

    Raneez Ahmed 的回答是正确的。但是,如果您是为 API 级别 11 或更高级别开发,则可以直接访问 WebView.onPause 而无需反射:

    @Override
    public void onPause() {
        webview.onPause();
        super.onPause();
    }
    

    记得也要实现 onResume:

    @Override
    public void onResume() {
        super.onResume();
        webview.onResume();
    }
    

    【讨论】:

      【解决方案2】:

      Refer this post

      唯一的办法就是从自己Activity的onPause方法中调用WebView的onPause方法

      @Override
      public void onPause() {
          super.onPause();
      
          try {
              Class.forName("android.webkit.WebView")
                      .getMethod("onPause", (Class[]) null)
                                  .invoke(webview, (Object[]) null);
      
          } catch(ClassNotFoundException cnfe) {
          ...
          } catch(NoSuchMethodException nsme) {
          ...
          } catch(InvocationTargetException ite) {
          ...
          } catch (IllegalAccessException iae) {
              ...
          }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-04-26
        • 1970-01-01
        • 2015-03-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多