9

特定の*チャンネル*を開くYouTubeボタンがあります。そのため、アプリケーションからチャンネルにアクセスするために、 YouTube *アプリケーション* で開きます。

Intent intent = new Intent(Intent.ACTION_VIEW , Uri.parse("https://www.youtube.com/channel/UCRmoG8dTnv0B7y9uoocikLw"));
context.startActivity(intent);

しかし、ブラウザで開いています。

4

4 に答える 4

10

明示的に 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
}
于 2013-10-01T12:53:56.037 に答える
6

これを行う簡単な方法は次のとおりです (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);
于 2016-03-10T18:32:52.217 に答える
1
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(urlStr));
startActivity(intent);

urlStrは、目的のチャンネルの URL です

于 2015-12-23T05:59:06.563 に答える