为什么选择WebView - > onPause只在第一次工作?

时间:2011-07-18 20:32:30

标签: java android

我在WebView播放Flash视频。当用户点击主页按钮时,我想停止视频。我试图在Activity

中执行此操作
@Override
protected void onStop() {
    Log.i(tag, "onStop");
    super.onStop();
    this.webView.onPause();
}

每当我点击主页按钮时,我都会看到“onStop”已注销,但视频仅在第一次停止时停止。我仍然可以在其他时间听到音频。

以下黑客一直停止视频,但(A)它只停止Flash而不是任何Javascript计时器,(B)它不能关闭任何通用Flash视频 - 它只能关闭ID为“的对象” flashVideo“和一个名为”stopVideo“的钩子。

@Override
protected void onStop() {
    Log.i(tag, "onStop");
    super.onStop();
    this.webView.loadUrl("javascript:$('flashVideo').stopVideo();");
}

2 个答案:

答案 0 :(得分:0)

你可以尝试在this.webView.destroy()中调用onStop(),但是你需要重新实例化webview并以编程方式将WebView重新添加到活动中,因为webView.destroy基本上是这样的在销毁之后,可以在WebView上调用其他方法。

答案 1 :(得分:0)

我有同样的问题,我通过在BackPressed方法

中保留状态使其工作

添加以下代码

mVideoView.stopPlayback();
mCustomViewCallback.onCustomViewHidden();

这可能会有所帮助