Open Youtube Channel calling YouTube App (Android)

2020-03-08 07:20发布

I want to open YouTube App showing an specific channel, but this only execute the browser.

try 
        {
            Intent intent = new Intent(Intent.ACTION_VIEW);
            intent.setData(Uri.parse("http://www.youtube.com/"+channel));
            startActivity(intent);
        }
        catch (Exception e) 
        {
            startActivity(new Intent(Intent.ACTION_VIEW,Uri.parse("http://www.youtube.com/"+channel)));         
        }

I want to show this:

enter image description here

4条回答
太酷不给撩
2楼-- · 2020-03-08 08:00

Do research on library called YouTubeAndroidPlayerApi. This piece of code does exactly what you want.

Intent intent = YouTubeIntents.createUserIntent(this, channelName);
startActivity(intent);
查看更多
Luminary・发光体
3楼-- · 2020-03-08 08:06

Use this code it will open the channel

 startActivity(new Intent(Intent.ACTION_VIEW,   Uri.parse("http://www.youtube.com/channel/UCw7FqRl9XzrlB_D1vOg_Gyg")));
查看更多
聊天终结者
4楼-- · 2020-03-08 08:08

Or, you could avoid the implementation of YouTubeAndroidPlayerApi Library: (kotlin)

const val URL_YOUTUBE = "https://www.youtube.com/channel/id"
const val URL_YOUTUBE_INAPP = "vnd.youtube.com/channel/id"

try{  
    //here we try to open the link in app
    startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(URL_YOUTUBE_INAPP)))
}catch (e: Exception) {
   //the app isn't available: we open in browser`
   startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(URL_YOUTUBE)))
}
查看更多
疯言疯语
5楼-- · 2020-03-08 08:12

Simply you can't. The image you linked, is about the YouTube application, not the website.

EDIT: Take a look here: Launch an application from another application on Android

查看更多
登录 后发表回答