/** * 当Activity执行onPause()时让WebView执行pause */ @Override public void onPause() { super.onPause(); try { if (mWebNewsdetailsFragment != null) { mWebNewsdetailsFragment.getClass().getMethod("onPause").invoke(mWebNewsdetailsFragment, (Object[]) null); isOnPause = true; } } catch (Exception e) { e.printStackTrace(); } } /** * 当Activity执行onResume()时让WebView执行resume */ @Override public void onResume() { super.onResume(); try { if (isOnPause) { if (mWebNewsdetailsFragment != null) { mWebNewsdetailsFragment.getClass().getMethod("onResume").invoke(mWebNewsdetailsFragment, (Object[]) null); } isOnPause = false; } } catch (Exception e) { e.printStackTrace(); } } /** * 该处的处理尤为重要: * 应该在内置缩放控件消失以后,再执行mWebView.destroy() * 否则报错WindowLeaked */ @Override public void onDestroy() { super.onDestroy(); if (mWebNewsdetailsFragment != null) { mWebNewsdetailsFragment.getSettings().setBuiltInZoomControls(true); mWebNewsdetailsFragment.setVisibility(View.GONE); long delayTime = ViewConfiguration.getZoomControlsTimeout(); new Timer().schedule(new TimerTask() { @Override public void run() { Tools.runOnUI(new Runnable() { @Override public void run() { if (mWebNewsdetailsFragment != null) { mWebNewsdetailsFragment.destroy(); mWebNewsdetailsFragment = null; } } }); } }, delayTime); } isOnPause = false; }
webview播放视频关闭声音问题
最新推荐文章于 2023-12-18 15:40:07 发布