1

我正在尝试在我的应用上创建一个 YouTube 链接以在外部窗口/标签中打开。谁能帮我?

这是我的代码:

import com.actionbarsherlock.app.SherlockFragment;

public class Showing_now extends SherlockFragment{

    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View mainView = (View) inflater.inflate(R.layout.activity_showing_now, container, false);
    WebView webView = (WebView) mainView.findViewById(R.id.webViewsn);

    webView.setWebViewClient(new MyWebViewClient());
    webView.getSettings().setPluginsEnabled(true);
    webView.getSettings().setBuiltInZoomControls(false); 
    webView.getSettings().setSupportZoom(false);
    webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);   
    webView.getSettings().setAllowFileAccess(true); 
    webView.getSettings().setDomStorageEnabled(true);
    webView.getSettings().setJavaScriptEnabled(true); 
    webView.getSettings().setPluginState(PluginState.ON);
    webView.loadUrl("http://www.myweburl.com");
    return mainView;
}
    private class MyWebViewClient extends WebViewClient {

    }
}
4

2 回答 2

1

如果我理解正确,您想在 YouTube 应用中打开 YouTube 链接...如果您希望在应用中打开所有 YouTube 链接,请使用以下命令:

public class MyWebViewClient extends WebViewClient {

    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {

        if (url.startsWith("http://m.youtube.com")||url.startsWith("http://www.youtube.com") {
            startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
            return true;
        } 
        return false;
    }  

@Ty221 的回答也可以,但这个回答会自动尝试在 YouTube 应用中打开所有 YouTube 链接。

于 2013-07-26T14:04:26.847 回答
0

如果您想在外部应用程序中观看该视频,请使用该功能:

public static void watchYoutubeVideo(String id){
    try{
         Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("vnd.youtube:" + id));
         startActivity(intent);                 
         }catch (ActivityNotFoundException ex){
             Intent intent=new Intent(Intent.ACTION_VIEW, 
             Uri.parse("http://www.youtube.com/watch?v="+id));
             startActivity(intent);
         }
}

如果安装了 YouTube 应用程序,则会在其中显示视频,否则将打开浏览器。

于 2013-07-26T14:01:56.123 回答