我有一个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
}
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("https://www.youtube.com/**YOURCHANNEL**"));
intent.setPackage("com.google.android.youtube");
startActivity(intent);
YouTube
的包名。 - RoCkDevstackIntent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(urlStr));
startActivity(intent);
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
}