Android WebView-未播放YouTube视频
我有一个活动,它使用WebView显示网页。在该页面中,有一个指向YouTube视频的链接(因此我无法或不需要嵌入该视频) 问题是视频无法播放-我可以通过单击图标看到视频预览图像,但单击它没有响应。有什么可以做的吗Android WebView-未播放YouTube视频,android,android-webview,Android,Android Webview,我有一个活动,它使用WebView显示网页。在该页面中,有一个指向YouTube视频的链接(因此我无法或不需要嵌入该视频) 问题是视频无法播放-我可以通过单击图标看到视频预览图像,但单击它没有响应。有什么可以做的吗 public class DisplayWebPage extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCre
public class DisplayWebPage extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.display_web_page);
Bundle extras = getIntent().getExtras();
String url = extras.getString("url");
WebView webview = (WebView)findViewById(R.id.WebView1);
webview.setWebViewClient(new WebViewClient());
webview.getSettings().setJavaScriptEnabled(true);
webview.loadUrl(url);
}
}
更新::
如果上述方法无效,请尝试以下方法:
public class main extends Activity {
/** Called when the activity is first created. */
@ Override
public void onCreate (Bundle savedInstanceState) {
super. onCreate (savedInstanceState);
setContentView (R.layout.main);
WebView web = (WebView) findViewById (R.id.webView);
web. getSettings().setJavaScriptEnabled (true);
web. getSettings().setJavaScriptCanOpenWindowsAutomatically (false);
web. getSettings().setPluginsEnabled (true);
web. getSettings().setSupportMultipleWindows (false);
web. getSettings().setSupportZoom (false);
web. setVerticalScrollBarEnabled (false);
web. setHorizontalScrollBarEnabled (false);
web. loadUrl ("THE URL TO YOUR WEBVIEW SITE SHOULD GO HERE");
web. setWebViewClient (new WebViewClient () {
@ Override public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.startsWith("vnd.youtube")){
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
return true;
}
else
{
return false;
}
}
});
}
}
更新::
如果上述方法无效,请尝试以下方法:
public class main extends Activity {
/** Called when the activity is first created. */
@ Override
public void onCreate (Bundle savedInstanceState) {
super. onCreate (savedInstanceState);
setContentView (R.layout.main);
WebView web = (WebView) findViewById (R.id.webView);
web. getSettings().setJavaScriptEnabled (true);
web. getSettings().setJavaScriptCanOpenWindowsAutomatically (false);
web. getSettings().setPluginsEnabled (true);
web. getSettings().setSupportMultipleWindows (false);
web. getSettings().setSupportZoom (false);
web. setVerticalScrollBarEnabled (false);
web. setHorizontalScrollBarEnabled (false);
web. loadUrl ("THE URL TO YOUR WEBVIEW SITE SHOULD GO HERE");
web. setWebViewClient (new WebViewClient () {
@ Override public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.startsWith("vnd.youtube")){
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
return true;
}
else
{
return false;
}
}
});
}
}
也许你可以使用嵌入代码。检查我的答案中给出的链接,并使用svn下载源代码,其中使用了custome webview,哪一个工作良好你可以使用嵌入代码。检查我的答案中给出的链接,并使用svn下载源代码,其中使用了custome webview,哪一个工作良好我认为第二个示例不相关,因为我没有直接打开YouTube url。第一行帮助我意识到应该从代码中删除以下行-
webview.setWebViewClient(new WebViewClient())代码>-一旦我这么做了,视频就起作用了(在要求选择应该用来显示它的内容后,我觉得这很好)。我认为第二个例子不相关,因为我没有直接打开YouTube url。第一行帮助我意识到应该从代码中删除以下行-webview.setWebViewClient(new WebViewClient())代码>-一旦我这么做了,视频就工作了(在要求选择应该用来显示它的内容后,我觉得这很好)。