我有 youtube 按钮,会打开特定 * 频道 *,因为我希望它在 youtube中打开 * application *,以便从我的应用程序访问频道。
Intent intent = new Intent(Intent.ACTION_VIEW , Uri.parse("https://www.youtube.com/channel/UCRmoG8dTnv0B7y9uoocikLw"));
context.startActivity(intent);
但它在浏览器中打开。
答案 0 :(得分:8)
您应该明确地将其发送到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
}
答案 1 :(得分:3)
我发现这是一种简单的方法(假设您已经检查过安装了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);
答案 2 :(得分:1)
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(urlStr));
startActivity(intent);
urlStr 是您所需频道的网址
答案 3 :(得分:0)
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/”将直接带您进入家庭供稿。虽然绝对可以自定义网址以重定向到特定的频道或视频。