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

标签 java android

我在 WebView 中播放 Flash 视频.当用户按下主页按钮时,我想停止播放视频。我尝试在我的 Activity 中这样做:

@Override
protected void onStop() {
    Log.i(tag, "onStop");
    super.onStop();
    this.webView.onPause();
}

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

以下 hack 始终停止视频,但 (A) 它仅停止 Flash 而不是任何 Javascript 计时器,并且 (B) 它无法关闭任何通用 Flash 视频 - 它只能关闭 ID 为“的对象” flashVideo”,并带有一个名为“stopVideo”的 Hook 。

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

最佳答案

您可以尝试在 onStop() 中调用 this.webView.destroy() 但您需要重新实例化 webview 并重新添加 WebView 以编程方式添加到 Activity 中,因为 webView.destroy 基本上实现了它,因此在销毁后不能在 WebView 上调用其他方法。

关于java - 为什么 WebView -> onPause 只在第一次工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6739058/

相关文章:

java - 我在使用eclipse时出现错误?

java - 检测 Java 对象是否已被修改?

java - SuperCSV 中的可选 ParseDate SuperCsvCellProcessorException 是否有解决方法?

android - 如何在 android gradle 中循环依赖项时获取当前风格?

java - 使用简单 Facebook API 记录时出现异常(没有打开 session 时请求 session )

android - sqlite 是否支持为每个查询读取一定数量的行?

android - SearchView 可以同时具有语音搜索按钮和键盘语音输入吗?

java - 应用多个方面是否安全?

java - Hibernate 4,实现 UserType 的替代方法

android - Android Studio在运行Flutter项目中出现问题