2012-06-20 7 views
10

YouTube動画にリンクするモバイルウェブサイトがあります。 Androidの場合、このリンクをクリックすると、ブラウザまたはYoutubeアプリを使用して「アクションを完了」するように求めるダイアログが表示されます。AndroidのYoutubeアプリで動画を開くように設定する

この画面を回避してYoutubeアプリでビデオを再生する方法はありますか? (たとえばyoutube:// URLの場合)

ありがとうございます!ここで

答えて

17

は、あなたがそれを行うことができます方法は次のとおりです。

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

idはURLでquestionmark後の識別子です。たとえば: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); 

......

+0

ありがとうございます。明日、vnd.youtube:URLを試してみましょう。 – tba

+0

端末がvnd.youtube:// URLを開くことができるかどうかをモバイルウェブサイトから確認する方法はありますか?私のサイトでは、Androidのvnd.youtube:URLと定期的なhttp://youtube.com/watchを開くことができますか? iOSのリンク。 – tba

+0

少なくとも私が知っているものはありません、ごめんなさい – Tim

7

最良の方法

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); 
} 
+0

あなたのソリューションを使用しようとしましたが、「シンボルコンテンツを解決できません」というメッセージが表示されました。このコンテンツは何ですか? –

+0

@MarcosGuimaraes更新 – user3716835

+0

ありがとうございました!それは今働く。 –

2

てみてください次のような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のアプリが無効になっている場合、タイムアウト機能を使用すると、アプリを有効にできるようにPlayストアにユーチューブアプリにリダイレクトされます。 2番目のリダイレクトがAndroid YoutubeアプリでYouTube動画をポップアップして再生します。

タイムアウト時間内に既にYouTubeアプリに切り替えられている場合は、タイムアウト機能は呼び出されず、プレイストアに切り替えずにYouTubeアプリに滞在します。

+0

私はこの解決策が好きです。これはiOSでも動作しますか? –

関連する問題