Принудительное видео для открытия приложения Youtube на Android

У меня есть мобильный сайт, который ссылается на видео с YouTube. На Android, нажав на эту ссылку, открывается диалоговое окно с просьбой к пользователю "Завершить действие, используя" их браузер или приложение Youtube.

Есть ли способ обойти этот экран и просто воспроизводить видео в приложении Youtube? (Например, с URL-адресом youtube://.)

Спасибо!

Ответ 1

Вот как вы можете это сделать:

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("vnd.youtube://" + id));
startActivity(intent);

Идентификатор - это идентификатор после вопросительного знака в URL-адресе. Например: youtube.com/watch?v=ID

Другой способ:

Intent videoIntent = new Intent(Intent.ACTION_VIEW);
videoIntent.setData(url);
videoIntent.setClassName("com.google.android.youtube", "com.google.android.youtube.WatchActivity");
startActivity(videoIntent);

......

Ответ 2

Лучший способ

try {

     Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("vnd.youtube://" + id));
     intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
     startActivity(intent);

} catch (ActivityNotFoundException e) {

    // youtube is not installed.Will be opened in other available apps

    Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("https://youtube.com/watch?v=" + id));
    startActivity(i);
}

Ответ 3

Попробуйте использовать перенаправление JavaScript следующим образом:

window.location = "vnd.youtube://the.youtube.video.url";

Более подробно:

if( /Android/i.test(navigator.userAgent ) ) {
    // If the user is using an Android device.
    setTimeout(function () { window.location = "market://details?id=com.google.android.youtube"; }, 25);
    window.location = "vnd.youtube://www.youtube.com/watch?v=yourVideoId";
}

Если приложение Youtube отключено, функция тайм-аута перенаправляет вас в приложение YouTube в хранилище воспроизведения, чтобы вы могли включить приложение. Второе перенаправление появится и воспроизведет видео youtube в приложении Android Youtube.

Если вы уже переключились на приложение YouTube в течение интервала времени ожидания, функция тайм-аута не будет вызываться, и вы не будете переключаться в магазин воспроизведения, но остаетесь в приложении YouTube.