我有youtube按钮,它将打开一个特定的*频道* 我希望它在youtube *应用程序* 中打开,以便从我的应用程序访问一个频道。
Intent intent = new Intent(Intent.ACTION_VIEW , Uri.parse("https://www.youtube.com/channel/UCRmoG8dTnv0B7y9uoocikLw"));
context.startActivity(intent);
但它正在浏览器中打开。
我有youtube按钮,它将打开一个特定的*频道* 我希望它在youtube *应用程序* 中打开,以便从我的应用程序访问一个频道。
Intent intent = new Intent(Intent.ACTION_VIEW , Uri.parse("https://www.youtube.com/channel/UCRmoG8dTnv0B7y9uoocikLw"));
context.startActivity(intent);
但它正在浏览器中打开。
您应该明确地将其发送到 youtube。您可以通过指定包来做到这一点:
intent.setComponent(new ComponentName("com.google.android.youtube","com.google.android.youtube.PlayerActivity"));
另请注意,您还应该检查是否安装了 youtube!
Intent intent = new Intent(
Intent.ACTION_VIEW ,
Uri.parse("https://www.youtube.com/channel/UCRmoG8dTnv0B7y9uoocikLw"));
intent.setComponent(new ComponentName("com.google.android.youtube","com.google.android.youtube.PlayerActivity"));
PackageManager manager = context.getPackageManager();
List<ResolveInfo> infos = manager.queryIntentActivities(intent, 0);
if (infos.size() > 0) {
context.startActivity(intent);
}else{
//No Application can handle your intent
}
我发现这是一种简单的方法(假设您已经检查了 YouTube 是否已安装):
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("https://www.youtube.com/**YOURCHANNEL**"));
intent.setPackage("com.google.android.youtube");
startActivity(intent);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(urlStr));
startActivity(intent);
urlStr是您想要的频道的网址
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("https://www.youtube.com/"));
intent.setPackage("com.google.android.youtube");
PackageManager manager = getPackageManager();
List<ResolveInfo> info = manager.queryIntentActivities(intent, 0);
if (info.size() > 0) {
startActivity(intent);
} else {
//No Application can handle your intent
}
这就是您可以实现的方式.. 仅提供“https://www.youtube.com/”将直接将您带入主页。虽然绝对可以自定义 url 以重定向到特定的频道或视频。