[Android] 明示的 Intent で YouTube 公式アプリにて動画を再生する方法


Android アプリ開発で、明示的 Intent で YouTube 公式アプリで動画を再生するコードがバグってて、正しく動作するコードを調べたのでメモ。

動作しないコード

final videoId = "kCNpOe5S1B4";
final Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("http://m.youtube.com/watch?v=" + videoId));
intent.setClassName("com.google.android.youtube", "com.google.android.youtube.WatchActivity");

正常に YouTube 動画を再生できるコード

final videoId = "kCNpOe5S1B4";
final Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("vnd.youtube:" + videoId));
intent.putExtra("VIDEO_ID", videoId);

[参考]

android – How to open Youtube App directly via intent – Stack Overflow

OpenYouTubePlayerActiviyInstructions – android-youtube-player – Instructions for using the !OpenYouTubeActivity – Android component that plays videos from YouTube – Google Project Hosting

  1. コメントはまだありません。

  1. トラックバックはまだありません。