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 で明示的 Intent で YouTube 公式アプリにて動画を再生したい、現場からお送りしました。