Android 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

我有一个活动,它使用WebView显示网页。在该页面中,有一个指向YouTube视频的链接(因此我无法或不需要嵌入该视频)

问题是视频无法播放-我可以通过单击图标看到视频预览图像,但单击它没有响应。有什么可以做的吗

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())-一旦我这么做了,视频就工作了(在要求选择应该用来显示它的内容后,我觉得这很好)。