【发布时间】:2015-10-25 15:30:23
【问题描述】:
我对 WebView 有疑问,基本上我正在加载一个在某些地方嵌入视频的论坛,如果您播放视频,然后旋转设备,视频会在后台继续播放,您可以使用它来停止它。当您最小化应用程序时也会发生这种情况。有没有办法阻止这种情况?
这是我正在使用的 WebView 代码。
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
this.view = (WebView) findViewById(R.id.webView);
view.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url != null && url.contains("grcade")) {
view.loadUrl(url);
view.getSettings().setJavaScriptEnabled(true);
return true;
} else {
view.getContext().startActivity(
new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
return true;
}
}
});
view.setDownloadListener(new DownloadListener() {
public void onDownloadStart(String url, String userAgent,
String contentDisposition, String mimetype,
long contentLength) {
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);
}
});
if(savedInstanceState == null){
String url = "http://grcade.co.uk";
view.getSettings().setJavaScriptEnabled(true);
view.loadUrl(url);
view.getSettings().setSupportZoom(true);
view.getSettings().setBuiltInZoomControls(true);
view.getSettings().setDisplayZoomControls(false);
view.getSettings().setLoadWithOverviewMode(true);
view.setBackgroundColor(Color.WHITE);
}
final SwipeRefreshLayout pulltoRefresh = (SwipeRefreshLayout) findViewById(R.id.pullToRefresh);
pulltoRefresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
view.reload();
pulltoRefresh.setRefreshing(false);
}
});
}
@Override
public void onSaveInstanceState (Bundle outState)
{
super.onSaveInstanceState(outState);
view.saveState(outState);
}
@Override
public void onRestoreInstanceState(Bundle savedInstanceState)
{
super.onRestoreInstanceState(savedInstanceState);
view.restoreState(savedInstanceState);
view.getSettings().setJavaScriptEnabled(true);
}
//Main WebView Panel End
任何帮助都将不胜感激,因为我很困惑,我停止了它的发生并返回,但同样的方法不会起作用,因为添加它会导致应用程序恢复到默认的 webview URL,而不是重新加载用户所在的页面.
谢谢。
【问题讨论】:
标签: android video webview youtube