Chrome के साथ Android इंटेंट

Android इंटेंट की मदद से, किसी Android डिवाइस पर सीधे वेब पेज से ऐप्लिकेशन लॉन्च किए जा सकते हैं. कस्टम स्कीम के साथ ऐप्लिकेशन लॉन्च करने के लिए, उपयोगकर्ता के जेस्चर (हाव-भाव) को लागू किया जा सकता है या intent: सिंटैक्स का इस्तेमाल किया जा सकता है.

एक इंटेंट ऐंकर बनाएं और उसे किसी पेज में एम्बेड करें, ताकि उपयोगकर्ता ऐप्लिकेशन लॉन्च कर सके. इससे ऐप्लिकेशन को लॉन्च करने के तरीके और समय को तय करने में मदद मिलती है. इसका मतलब है कि Intent Extras की मदद से ऐप्लिकेशन को जानकारी भेजी जा सकती है.

इंटेंट-आधारित यूआरआई के लिए, बुनियादी सिंटैक्स इस तरह से है:

intent:  
   HOST/URI-path // Optional host  
   #Intent;  
      package=\[string\];  
      action=\[string\];  
      category=\[string\];  
      component=\[string\];  
      scheme=\[string\];  
   end;

पार्स करने की जानकारी के लिए Android सोर्स कोड देखें.

जब किसी इंटेंट का समाधान नहीं होता या कोई बाहरी ऐप्लिकेशन लॉन्च नहीं होता, तो उपयोगकर्ता को फ़ॉलबैक यूआरएल पर रीडायरेक्ट किया जा सकता है. आप इंटेंट एक्स्ट्रा के साथ एक फ़ॉलबैक यूआरएल तय कर सकते हैं:

S.browser_fallback_url=[encoded_full_url]

Intent Extras तय करने के लिए S.<name> का इस्तेमाल करें. यह अतिरिक्त सुविधा पुराने सिस्टम के साथ काम करती है. Chrome browser_fallback_url को हटा देता है, ताकि टारगेट ऐप्लिकेशन को यह वैल्यू न दिखे.

Chrome इन स्थितियों में किसी बाहरी ऐप्लिकेशन को लॉन्च नहीं करेगा:

  • इंटेंट को हल नहीं किया जा सकता. दूसरे शब्दों में कहें, तो कोई भी ऐप्लिकेशन इंटेंट को हैंडल नहीं कर सकता.
  • JavaScript टाइमर ने उपयोगकर्ता के जेस्चर के बिना एक ऐप्लिकेशन को खोलने की कोशिश की.

उदाहरण

यहां एक इंटेंट दिया गया है जो Zxing बारकोड स्कैनर ऐप्लिकेशन को लॉन्च करता है:

intent:  
   //scan/  
   #Intent;  
      package=com.google.zxing.client.android;  
      scheme=zxing;  
   end;

Zxing बारकोड स्कैनर ऐप्लिकेशन लॉन्च करने के लिए, अपने href को ऐंकर पर कोड में बदलें:

  <a href="intent://scan/#Intent;scheme=zxing;package=com.google.zxing.client.android;end">
    Take a QR code
  </a>

Android Zxing मेनिफ़ेस्ट देखें. इससे पैकेज और होस्ट के बारे में जानकारी मिलती है.

फ़ॉलबैक यूआरएल के बारे में बताने पर, पूरा यूआरएल ऐसा दिखता है:

   <a href="intent://scan/#Intent;scheme=zxing;package=com.google.zxing.client.android;S.browser_fallback_url=http%3A%2F%2Fzxing.org;end">
    Take a QR code
  </a>

अगर ऐप्लिकेशन नहीं मिलता है, तो अब यूआरएल उपयोगकर्ताओं को zxing.org पर भेजता है. ऐसा तब होता है, जब उपयोगकर्ता के जेस्चर के बिना ही JavaScript से लिंक को ट्रिगर किया जाता है. इसके अलावा, ऐसे अन्य मामलों में भी यूआरएल को ट्रिगर किया जाता है जहां हम किसी बाहरी ऐप्लिकेशन को लॉन्च नहीं करते.

इन बातों पर ध्यान दें

अगर किसी Android गतिविधि को, ऐसे इंटेंट के साथ शुरू किया जा रहा है जिसमें Extras है, तो यह जानकारी भी शामिल की जा सकती है.

इस तरीके का इस्तेमाल करके सिर्फ़ android.intent.category.BROWSABLE कैटगरी फ़िल्टर वाली गतिविधियों को शुरू किया जा सकता है. इससे पता चलता है कि इस ऐप्लिकेशन को ब्राउज़र से खोलना सुरक्षित है.

Chrome दिए गए इंटेंट यूआरआई के लिए बाहरी ऐप्लिकेशन लॉन्च नहीं करेगा, अगर:

  • इंटेंट यूआरआई को एक टाइप किए गए यूआरएल से रीडायरेक्ट किया गया है;
  • इंटेंट यूआरआई को उपयोगकर्ता के जेस्चर के बिना शुरू किया जाता है.