2

我创建了一个 android 活动,其中我有一个 web 视图。我给了 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 天的问题中。

在此先感谢... Ketan

4

2 回答 2

2

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

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

记住还要实现 onResume:

@Override
public void onResume() {
    super.onResume();
    webview.onResume();
}
于 2015-04-16T09:45:40.567 回答
1

参考这篇文章

唯一的办法就是从自己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) {
        ...
    }
}
于 2013-07-07T06:39:41.660 回答