Question

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

Was it helpful?

Solution 2

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

Intent intent = YouTubeIntents.createUserIntent(this, channelName);
startActivity(intent);

OTHER TIPS

Use this code it will open the channel

 startActivity(new Intent(Intent.ACTION_VIEW,   Uri.parse("http://www.youtube.com/channel/UCw7FqRl9XzrlB_D1vOg_Gyg")));

Check out my code for opening YouTube specific Channel:

//ID initialization
ImageView youtube = findViewById(R.id.youtubeID);

youtube.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            String youtubeURL = "https://www.youtube.com/papelbd";
            Intent youtubeIntent=null;

            try {

                youtubeIntent=new Intent(Intent.ACTION_VIEW);
                youtubeIntent.setPackage("com.google.android.youtube");
                youtubeIntent.setData(Uri.parse(youtubeURL ));
                startActivity(youtubeIntent);

            } catch (ActivityNotFoundException e) {

                youtubeIntent= new Intent(Intent.ACTION_VIEW);
                youtubeIntent.setData(Uri.parse(youtubeURL ));
                startActivity(youtubeIntent);
            }
        }
    });

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

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)))
}

Follow this gist link below, If you face any trouble, just text me here.

https://gist.github.com/oalpayli/a25dca8dba396042b365af5bcf620393

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top