2012-06-20 23 views
10

Youtube videosuna bağlanan bir mobil web sitem var. Android'de, bu bağlantıyı tıkladığınızda kullanıcının tarayıcıyı veya Youtube uygulamasını kullanarak "İşlemi tamamla" işlemini tamamlamasını isteyen bir iletişim kutusu açılır.Videoyu Youtube'da açmak için videoyu zorla

Bu ekranı atlayıp sadece videoyu Youtube uygulamasında oynatmanın bir yolu var mı? (Örneğin, bir youtube: // URL.)

Teşekkürler! İşte

cevap

17

bunu yapabilirsiniz:

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

id url questionmark sonra kimliğidir. Örneğin: youtube.com/watch?v= kimliği

başka yoludur:

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

......

+0

Teşekkürler, yarın vnd.youtube URL adresini deneyip çalışıp çalışmadığını kontrol edeceğim. – tba

+0

Bir cihazın vnd.youtube URL’lerini açıp açamayacağını (mobil bir web sitesinden) kontrol etmenin bir yolu var mı? Sitemin Android için vnd.youtube URL’yi ve normal bir http://youtube.com/watch açmasını isterim. iOS için bağlantı. – tba

+0

En azından bildiğim kadarıyla, üzgünüm – Tim

7

iyi yolu

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

Çözümünüzü kullanmaya çalıştım ama "sembol içeriğini çözemiyorum". Bu içeriğin ne olduğunu bana açıklar mısınız? –

+0

@MarcosGuimaraes güncellendi – user3716835

+0

Çok teşekkür ederim! Şuan çalışıyor. –

2

deneyin aşağıdaki gibi bir JavaScript yönlendirmesi kullanmak için:

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

Daha kapsamlı: YouTube uygulaması devre dışı

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"; 
} 

, zaman aşımı fonksiyonu uygulamayı etkinleştirir izin oynamak mağaza youtube uygulamasına yönlendirir. İkinci yönlendirme açılır ve Android Youtube uygulamasında youtube videosunu oynatır.

Zaten zaman aşımı aralığı içinde YouTube uygulamasına geçtiyseniz, zaman aşımı işlevi çağrılmayacak ve oynatma mağazasına geçmeyecek ancak YouTube uygulamasında kalmayacaksınız.

+0

Bu çözümü beğendim. Bu, iOS için de çalışır mı? –

İlgili konular