我目前正在WebView中打开一个youtube频道。 它加载所有罚款,我可以播放频道视频没有问题。 但是当我向后导航,并且包含WebView的片段被删除时,音频会继续播放。
为了防止这种情况,我正在调用片段onPause()中的 WebViews onPause(),如下所示:
@Override
public void onPause() {
super.onPause();
webView.onPause();
}
这就像一个魅力。 但我的问题是 WebView.onPause()仅适用于API 11 及更高版本。但我的应用必须最低API 10 ... 所以我的问题是:如何停止所有API级别的音频播放?
答案 0 :(得分:0)
假设片段中只有一个WebView,请使用以下代码暂停片段中的所有 WebView:
// In the Fragment's onPause
@Override
public void onPause(){
super.onPause();
// Check if WebView is null first since onPause can occasionally get called before all your views are initialized
if(mWebView != null) {
if(android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.HONEYCOMB){
mWebView.onPause(); // Normal onPause for versions greater than or equal to API 11
}
mWebView.pauseTimers(); // This does the same thing as onPause but does it for all the WebViews, it works on all API levels
}
}
让我知道它是否适合您。它应该,但WebView可能很挑剔,并且总是按照你想要的方式运行。
答案 1 :(得分:-1)
我认为你需要改变
webView.onPause
为:
this.callHiddenWebViewMethod("onPause");