我和使用Web视图加载HTML内容的Web应用程序。我正在为Google TV开发它,该网页上有一个视频,所以我的问题是当我点击播放视频时,它在另一个页面中打开,而不是在同一个webview中,它发生在Google TV(Logitech)而非移动设备上设备
它有什么问题。
我的代码是:
webView = (WebView) findViewById(R.id.webview);
WebSettings settings = webView.getSettings();
//settings.setJavaScriptEnabled(true);
settings.setAllowFileAccess(true);
if (Build.VERSION.SDK_INT > 7) {
settings.setPluginState(PluginState.ON);
} else {
settings.setPluginsEnabled(true);
}
webView.setWebChromeClient(new SimpleWebChromeClient());
settings.setJavaScriptEnabled(true);
settings.setUserAgentString("Mozilla/5.0 (X11; Linux armv7l) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.77 Large Screen Safari/534.24 GoogleTV/000000");
settings.setBuiltInZoomControls(true);
settings.setSupportZoom(true);
settings.setPluginsEnabled(true);
settings.setLoadWithOverviewMode(true);
settings.setUseWideViewPort(true);
webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
webView.setScrollbarFadingEnabled(false);
String fileName = "html_content/test.html";
webView.loadUrl("file:///android_asset/" + fileName);
WebChromeClient代码是:
private class SimpleWebChromeClient extends WebChromeClient {
/* (non-Javadoc)
* @see android.webkit.WebChromeClient#onShowCustomView(android.view.View, android.webkit.WebChromeClient.CustomViewCallback)
*/
@Override
public void onShowCustomView(View view, CustomViewCallback callback) {
super.onShowCustomView(view, callback);
//Log.w(RedditTVHDActivity.LOG_PREFIX, "In OnShowCustomView");
}
}
答案 0 :(得分:0)
这是我用来在同一窗口中打开WebView的方法。
webview.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView w, String url){
w.loadUrl(url);
return false; // then it is not handled by default action
}
});
答案 1 :(得分:0)
从您的活动名称我假设您正在尝试使用Reddit TV链接在您的应用中运行。其中大多数最终都是YouTube视频,因此最好使用原生的YouTube Android播放器API。以下是一些要查看的YouTube示例应用:https://developers.google.com/youtube/android/player/sample-applications