2012-06-20 22 views
10

मेरे पास एक मोबाइल वेबसाइट है जो यूट्यूब वीडियो से जुड़ी है। एंड्रॉइड पर, इस लिंक पर क्लिक करने से उपयोगकर्ता को अपने ब्राउज़र या यूट्यूब ऐप का उपयोग करके "पूर्ण कार्रवाई" करने के लिए एक संवाद लाता है।एंड्रॉइड पर यूट्यूब ऐप में खोलने के लिए फोर्स वीडियो

क्या इस स्क्रीन को बाईपास करने और यूट्यूब ऐप में वीडियो चलाने का कोई तरीका है? (उदाहरण के लिए यूट्यूब: // यूआरएल के साथ।)

धन्यवाद!

उत्तर

17

यहाँ आप यह कैसे कर सकते हैं:

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

आईडी, URL में questionmark के बाद पहचानकर्ता है। उदाहरण के लिए: youtube.com/watch?v= आईडी

एक और तरीका है:

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 खोल सकता है? मैं चाहता हूं कि मेरी साइट एंड्रॉइड के लिए vnd.youtube:// यूआरएल खोलें और एक नियमित http://youtube.com/watch? आईओएस के लिए लिंक। – 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

कोशिश निम्नलिखित की तरह एक जावास्क्रिप्ट पुनर्निर्देशन का उपयोग करने के लिए:

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 स्टोर पर YouTube एप्लिकेशन पर आप अनुप्रयोग सक्षम जाने पर रीडायरेक्ट करेगा। दूसरा रीडायरेक्ट पॉप अप करेगा और एंड्रॉइड यूट्यूब ऐप पर यूट्यूब वीडियो चलाएगा।

यदि आप पहले से ही टाइमआउट अंतराल के भीतर YouTube ऐप पर स्विच कर चुके हैं, तो टाइमआउट फ़ंक्शन नहीं कहा जाएगा और आप Play store पर स्विच नहीं हैं बल्कि YouTube ऐप में रहते हैं।

+0

मुझे यह समाधान पसंद है। क्या यह आईओएस के लिए भी काम करता है? –

संबंधित मुद्दे