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

Android इंटेंट की मदद से, Android डिवाइस पर सीधे किसी वेब पेज से ऐप्लिकेशन लॉन्च किए जा सकते हैं. ऐप्लिकेशन को पसंद के मुताबिक स्कीम के साथ लॉन्च करने के लिए, उपयोगकर्ता के जेस्चर का इस्तेमाल किया जा सकता है. इसके अलावा, 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]

S.<name> define Intent Extras का इस्तेमाल करें. यह सुविधा, पुराने सिस्टम के साथ काम करती है. 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 ऐक्टिविटी को शुरू किया जाता है जिसमें अतिरिक्त जानकारी शामिल है, तो इस जानकारी को भी शामिल किया जा सकता है.

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

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

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