Android:从YouTubePlayer的网址获取youtubeVideo Id

时间:2016-07-30 13:29:35

标签: android android-youtube-api

尝试下面的代码,但它不会处理像

这样的所有情况

1)" https://youtu.be/zuf8A0udHrs"

2)" https://www.youtube.com/watch?v=zuf8A0udHrs"

private boolean isValidUrl(String url) {

    if (url == null) {
        return false;
    }
    if (URLUtil.isValidUrl(url)) {
        // Check host of url if youtube exists
        Uri uri = Uri.parse(url);
        if ("www.youtube.com".equals(uri.getHost())) {
            return true;
        }
        // Other way You can check into url also like 
        //if (url.startsWith("https://www.youtube.com/")) {
            //return true;
        //}
    }
    // In other any case
    return false;
}

1 个答案:

答案 0 :(得分:0)

我认为您可以使用正则表达式来检查有效链接。

String pattern = "http(?:s?):\\/\\/(?:www\\.)?youtu(?:be\\.com\\/watch\\?v=|\\.be\\/)([\\w\\-\\_]*)(&(amp;)?‌​[\\w\\?‌​=]*)?";
        String link1 = "https://youtu.be/zuf8A0udHrs";
        String link2 = "https://www.youtube.com/watch?v=zuf8A0udHrs";

        if(link2.matches(pattern)) {
            System.out.println("YES");
        } else {
            System.out.println("NO");
        }