- सिंटैक्स:
- अगर डेटा टैग,
<intent-filter>का चाइल्ड है, तो:
<data android:scheme="string" android:host="string" android:port="string" android:path="string" android:pathPattern="string" android:pathPrefix="string" android:pathSuffix="string" android:pathAdvancedPattern="string" android:mimeType="string" />
अगर डेटा टैग,<uri-relative-filter-group>का चाइल्ड है, तो:
<data android:path="string" android:pathPattern="string" android:pathPrefix="string" android:pathSuffix="string" android:pathAdvancedPattern="string" android:fragment="string" android:fragmentPattern="string" android:fragmentPrefix="string" android:fragmentSuffix="string" android:fragmentAdvancedPattern="string" android:query="string" android:queryPattern="string" android:queryPrefix="string" android:querySuffix="string" android:queryAdvancedPattern="string" />
- इसमें मौजूद है:
-
<intent-filter><uri-relative-filter-group> - description:
- यह इंटेंट फ़िल्टर में डेटा स्पेसिफ़िकेशन जोड़ता है. स्पेसिफ़िकेशन,
mimeTypeएट्रिब्यूट का इस्तेमाल करके डेटा टाइप, यूआरआई या डेटा टाइप और यूआरआई, दोनों हो सकता है. यूआरआई के हर हिस्से के लिए, अलग-अलग एट्रिब्यूट तय किए जाते हैं:<scheme>://<host>:<port>[<path>|<pathPrefix>|<pathPattern>|<pathAdvancedPattern>|<pathSuffix>]यूआरआई फ़ॉर्मैट के बारे में बताने वाली ये विशेषताएं ज़रूरी नहीं हैं. हालांकि, ये एक-दूसरे पर निर्भर करती हैं:
- अगर इंटेंट फ़िल्टर के लिए
schemeनहीं दिया गया है, तो यूआरआई के अन्य सभी एट्रिब्यूट को अनदेखा कर दिया जाता है. - अगर फ़िल्टर के लिए
hostनहीं दिया गया है, तोportएट्रिब्यूट और सभी पाथ एट्रिब्यूट को अनदेखा कर दिया जाता है.
एक ही
<intent-filter>एलिमेंट में मौजूद सभी<data>एलिमेंट, एक ही फ़िल्टर में योगदान देते हैं. उदाहरण के लिए, यहां दिए गए फ़िल्टर स्पेसिफ़िकेशन में:<intent-filter . . . > <data android:scheme="something" android:host="project1.example.com" /> <data android:scheme="something-else" android:host="project2.example.com" android:path="/page1" /> ... </intent-filter>
इसके बराबर है:
<intent-filter . . . > <data android:scheme="something" /> <data android:scheme="something-else" /> <data android:host="project1.example.com" /> <data android:host="project2.example.com" /> <data android:path="/page1" /> ... </intent-filter>
<data>एलिमेंट में कई<data>एलिमेंट जोड़े जा सकते हैं, ताकि उसे कई डेटा विकल्प दिए जा सकें.<intent-filter>इसके किसी भी एट्रिब्यूट की डिफ़ॉल्ट वैल्यू नहीं होती.इंटेंट फ़िल्टर के काम करने के तरीके के बारे में जानकारी के लिए, इंटेंट और इंटेंट फ़िल्टर लेख पढ़ें. इसमें इंटेंट ऑब्जेक्ट को फ़िल्टर से मैच करने के नियमों के बारे में भी बताया गया है. इसके अलावा, मेनिफ़ेस्ट फ़ाइल की खास जानकारी में मौजूद इंटेंट फ़िल्टर सेक्शन देखें.
- अगर इंटेंट फ़िल्टर के लिए
- एट्रिब्यूट:
android:scheme- यह यूआरआई का स्कीम वाला हिस्सा होता है. यूआरआई तय करने के लिए, यह सबसे ज़रूरी एट्रिब्यूट है. फ़िल्टर के लिए, कम से कम एक
schemeएट्रिब्यूट सेट किया जाना चाहिए. ऐसा न होने पर, अन्य यूआरआई एट्रिब्यूट का कोई मतलब नहीं रह जाता.स्कीम को ट्रेलिंग कोलन के बिना बताया गया है. जैसे,
httpके बजायhttp:.अगर फ़िल्टर के लिए,
mimeTypeएट्रिब्यूट का इस्तेमाल करके डेटा टाइप सेट किया गया है, लेकिन कोई स्कीम नहीं है, तोcontent:औरfile:स्कीम को डिफ़ॉल्ट रूप से लागू माना जाता है.ध्यान दें: Android फ़्रेमवर्क में स्कीम मैचिंग, RFC के उलट केस-सेंसिटिव होती है. इसलिए, हमेशा छोटे अक्षरों का इस्तेमाल करके स्कीम तय करें.
android:host-
यह यूआरआई अथॉरिटी का होस्ट वाला हिस्सा होता है. इस एट्रिब्यूट का कोई मतलब नहीं है, जब तक कि फ़िल्टर के लिए
schemeएट्रिब्यूट भी न दिया गया हो. एक से ज़्यादा सबडोमेन से मैच करने के लिए, तारे के निशान (*) का इस्तेमाल करें. इससे होस्ट में शून्य या उससे ज़्यादा वर्णों से मैच किया जा सकता है. उदाहरण के लिए, होस्ट*.google.com,www.google.com,.google.com, औरdeveloper.google.comसे मेल खाता है.तारे का निशान, होस्ट एट्रिब्यूट का पहला वर्ण होना चाहिए. उदाहरण के लिए, होस्ट
google.co.*अमान्य है, क्योंकि ऐस्टरिक वाइल्डकार्ड पहला वर्ण नहीं है.ध्यान दें: Android फ़्रेमवर्क में होस्ट के नाम का मिलान करते समय, केस का ध्यान रखा जाता है. हालांकि, RFC में ऐसा नहीं होता. इसलिए, होस्ट के नाम हमेशा छोटे अक्षरों में लिखें.
android:port- यह यूआरआई अथॉरिटी का पोर्ट वाला हिस्सा होता है. इस एट्रिब्यूट की वैल्यू सिर्फ़ तब मायने रखती है, जब फ़िल्टर के लिए
schemeऔरhostएट्रिब्यूट की वैल्यू भी दी गई हो. android:pathandroid:pathPrefixandroid:pathSuffixandroid:pathPatternandroid:pathAdvancedPattern- यूआरआई का पाथ वाला हिस्सा, जो
/से शुरू होना चाहिए.pathएट्रिब्यूट, पूरे पाथ की जानकारी देता है. इसका मिलानIntentऑब्जेक्ट में मौजूद पूरे पाथ से किया जाता है.pathPrefixएट्रिब्यूट, पाथ का वह हिस्सा तय करता है जिसेIntentऑब्जेक्ट में मौजूद पाथ के सिर्फ़ शुरुआती हिस्से से मैच किया जाता है.pathSuffixएट्रिब्यूट,Intentऑब्जेक्ट में मौजूद पाथ के आखिरी हिस्से से पूरी तरह मैच होना चाहिए. साथ ही, इस एट्रिब्यूट की वैल्यू/वर्ण से शुरू नहीं होनी चाहिए.pathPatternएट्रिब्यूट, एक ऐसा पूरा पाथ तय करता है जिसेIntentऑब्जेक्ट में मौजूद पूरे पाथ से मैच किया जाता है. हालांकि, इसमें ये वाइल्डकार्ड शामिल हो सकते हैं:- पीरियड (
.) किसी भी वर्ण से मेल खाता है. -
तारे (
*) का इस्तेमाल, ठीक पहले वाले वर्ण के शून्य से लेकर कई बार दिखने वाले क्रम से मेल खाने के लिए किया जाता है. -
बिंदु के बाद स्टार (
.*) का इस्तेमाल करने पर, यह शून्य से लेकर कई वर्णों के किसी भी क्रम से मेल खाता है.
pathAdvancedPatternएट्रिब्यूट, पूरा पाथ तय करता है. इसेIntentऑब्जेक्ट के पूरे पाथ से मैच किया जाता है. साथ ही, यह रेगुलर एक्सप्रेशन जैसे इन पैटर्न के साथ काम करता है:-
पीरियड (
.) किसी भी वर्ण से मेल खाता है. -
सेट (
[...]), वर्णों की रेंज से मेल खाता है. उदाहरण के लिए,[0-5], 0 से 5 के बीच के किसी भी अंक से मैच करता है, लेकिन 6 से 9 के बीच के किसी भी अंक से मैच नहीं करता.[a-zA-Z]किसी भी अक्षर से मेल खाता है, भले ही वह कैपिटल लेटर हो या स्मॉल लेटर. सेट में "not"^मॉडिफ़ायर का इस्तेमाल भी किया जा सकता है. -
तारे (
*) वाला मॉडिफ़ायर, पिछले पैटर्न से शून्य या उससे ज़्यादा बार मैच करता है. -
प्लस (
+) मॉडिफ़ायर, पिछले पैटर्न से एक या उससे ज़्यादा बार मैच करता है. -
रेंज (
{...}) मॉडिफ़ायर से यह तय होता है कि कोई पैटर्न कितनी बार मैच हो सकता है.
pathAdvancedPatternमैच करने वाला फ़ंक्शन, आकलन को लागू करने का एक तरीका है. इसमें पैटर्न से मैच करने की प्रोसेस रीयल टाइम में होती है. इसमें बैकट्रैकिंग की सुविधा नहीं होती.\का इस्तेमाल एस्केप कैरेक्टर के तौर पर किया जाता है. ऐसा तब होता है, जब स्ट्रिंग को एक्सएमएल से पढ़ा जाता है. इसलिए, पैटर्न के तौर पर पार्स किए जाने से पहले, आपको इसे दो बार एस्केप करना होगा. उदाहरण के लिए, लिटरल*को\\*के तौर पर लिखा जाता है और लिटरल\को\\\\के तौर पर लिखा जाता है. यह Java कोड में स्ट्रिंग बनाते समय लिखे जाने वाले कोड की तरह होता है.इन पांच तरह के पैटर्न के बारे में ज़्यादा जानने के लिए,
PatternMatcherक्लास मेंPATTERN_LITERAL,PATTERN_PREFIX,PATTERN_SIMPLE_GLOB,PATTERN_SUFFIX, औरPATTERN_ADVANCED_GLOBके ब्यौरे देखें.इन एट्रिब्यूट का इस्तेमाल सिर्फ़ तब किया जा सकता है, जब फ़िल्टर के लिए
schemeऔरhostएट्रिब्यूट भी दिए गए हों.pathSuffixऔरpathAdvancedPatternको एपीआई लेवल 31 में पेश किया गया था. - पीरियड (
android:fragmentandroid:fragmentPrefixandroid:fragmentSuffixandroid:fragmentPatternandroid:fragmentAdvancedPattern-
यह यूआरआई फ़्रैगमेंट के लिए मैच करने वाला फ़ंक्शन है.
#प्रीफ़िक्स शामिल न करें. हर एट्रिब्यूट के लिए मान्य पैटर्न और उनके मतलब के बारे में जानने के लिए, ऊपर दिया गया सेक्शन देखें.आम तौर पर यूआरआई में कोड किए जाने वाले वर्णों से मेल खाने के लिए, एट्रिब्यूट की वैल्यू में रॉ (बिना कोड वाला) फ़ॉर्म शामिल करें. उदाहरण के लिए,
<data android:fragment="test!" />,#test!और#test%21से मेल खाता है.इसे एपीआई लेवल 35 में पेश किया गया था.
android:queryandroid:queryPrefixandroid:querySuffixandroid:queryPatternandroid:queryAdvancedPattern-
यह यूआरआई क्वेरी पैरामीटर (और ज़रूरत पड़ने पर, वैल्यू) के लिए मैच करने वाला फ़ंक्शन है. उदाहरण के लिए,
<data android:query="param=value" />की मदद से,?param=valueसे खत्म होने वाले यूआरआई मैच किए जा सकते हैं.?प्रीफ़िक्स शामिल न करें. हर एट्रिब्यूट में इस्तेमाल किए जा सकने वाले पैटर्न और उनके मतलब के बारे में जानने के लिए, ऊपर दिया गया सेक्शन देखें.आम तौर पर यूआरआई के तौर पर कोड किए गए वर्णों से मेल खाने के लिए, एट्रिब्यूट की वैल्यू में रॉ (नॉनकोडेड) फ़ॉर्म शामिल करें. उदाहरण के लिए,
<data android:query="test!" />,?test!और?test%21से मेल खाता है.इसे एपीआई लेवल 35 में पेश किया गया था.
android:mimeType- MIME मीडिया टाइप, जैसे कि
image/jpegयाaudio/mpeg4-generic. उप-टाइप के तौर पर, तारे के निशान वाले वाइल्डकार्ड (*) का इस्तेमाल किया जा सकता है. इससे पता चलता है कि कोई भी उप-टाइप मेल खाता है.आम तौर पर, इंटेंट फ़िल्टर एक
<data>एलिमेंट का एलान करता है. इसमें सिर्फ़android:mimeTypeएट्रिब्यूट शामिल होता है.ध्यान दें: Android फ़्रेमवर्क में MIME टाइप मैचिंग, केस-सेंसिटिव होती है. हालांकि, फ़ॉर्मल RFC MIME टाइप में ऐसा नहीं होता. इसलिए, MIME टाइप हमेशा छोटे अक्षरों में तय करें.
- पहली बार इसमें दिखाया गया:
- एपीआई लेवल 1
- यह भी देखें:
<action><category>
<डेटा>
इस पेज पर मौजूद कॉन्टेंट और कोड सैंपल कॉन्टेंट के लाइसेंस में बताए गए लाइसेंस के हिसाब से हैं. Java और OpenJDK, Oracle और/या इससे जुड़ी हुई कंपनियों के ट्रेडमार्क या रजिस्टर किए हुए ट्रेडमार्क हैं.
आखिरी बार 2026-02-23 (UTC) को अपडेट किया गया.
[null,null,["आखिरी बार 2026-02-23 (UTC) को अपडेट किया गया."],[],[]]