Reputation: 13
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:
Upvotes: 1
Views: 8590
Reputation: 265
Follow this gist link below, If you face any trouble, just text me here.
https://gist.github.com/oalpayli/a25dca8dba396042b365af5bcf620393
Upvotes: 0
Reputation: 571
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);
}
}
});
Upvotes: 1
Reputation: 9
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)))
}
Upvotes: 0
Reputation: 10623
Use this code it will open the channel
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.youtube.com/channel/UCw7FqRl9XzrlB_D1vOg_Gyg")));
Upvotes: 12
Reputation: 3236
Do research on library called YouTubeAndroidPlayerApi. This piece of code does exactly what you want.
Intent intent = YouTubeIntents.createUserIntent(this, channelName);
startActivity(intent);
Upvotes: 7
Reputation: 176
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
Upvotes: 0