<डेटा>

सिंटैक्स:
<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" />
इसमें शामिल है:
<intent-filter>
विवरण:
इंटेंट फ़िल्टर में डेटा स्पेसिफ़िकेशन जोड़ता है. स्पेसिफ़िकेशन यह है mimeType का इस्तेमाल करके, डेटा टाइप के लिए एट्रिब्यूट, यूआरआई या डेटा टाइप और यूआरआई, दोनों का इस्तेमाल करें. यूआरआई अलग-अलग इसके हर हिस्से के लिए एट्रिब्यूट:

<scheme>://<host>:<port>[<path>|<pathPrefix>|<pathPattern>|<pathAdvancedPattern>|<pathSuffix>]

यूआरआई फ़ॉर्मैट तय करने वाले ये एट्रिब्यूट ज़रूरी नहीं हैं, लेकिन ये म्यूचुअली निर्भर भी होते हैं:

  • अगर scheme इंटेंट फ़िल्टर के लिए तय नहीं किया गया है, तो बाकी सभी यूआरआई एट्रिब्यूट को अनदेखा कर दिया जाता है.
  • अगर host को फ़िल्टर के लिए सेट नहीं किया गया है, port एट्रिब्यूट और पाथ के सभी एट्रिब्यूट को अनदेखा कर दिया जाता है.

उसी में मौजूद सभी <data> एलिमेंट <intent-filter> एलिमेंट का योगदान फ़िल्टर इस्तेमाल कर सकते हैं. उदाहरण के लिए, नीचे दिए गए फ़िल्टर की खास बातें:

<intent-filter . . . >
    <data android:scheme="something" android:host="project.example.com" />
    ...
</intent-filter>

इसके बराबर है:

<intent-filter . . . >
    <data android:scheme="something" />
    <data android:host="project.example.com" />
    ...
</intent-filter>

आप किसी एलिमेंट के अंदर कई <data> एलिमेंट रख सकते हैं एक से ज़्यादा डेटा देने के लिए <intent-filter> के विकल्प. इसके किसी भी एट्रिब्यूट की डिफ़ॉल्ट वैल्यू नहीं है.

इंटेंट फ़िल्टर के काम करने के तरीके और इंटेंट ऑब्जेक्ट से जुड़े नियमों के बारे में जानकारी के लिए का मिलान फ़िल्टर के साथ किया जाता है, तो इंटेंट और इंटेंट फ़िल्टर और इंटेंट फ़िल्टर सेक्शन में जाएं.

विशेषताएं:
android:scheme
यूआरआई का स्कीम हिस्सा. इसके लिए यह सबसे कम ज़रूरी एट्रिब्यूट है यूआरआई दर्ज करना. कम से कम एक scheme एट्रिब्यूट सेट करना ज़रूरी है या यूआरआई के दूसरे एट्रिब्यूट में से कोई भी काम का नहीं है.

स्कीम को बाद में कोलन के बिना तय किया जाता है, जैसे http: के बजाय http.

अगर फ़िल्टर में डेटा टाइप सेट है (mimeType का इस्तेमाल करके) एट्रिब्यूट) है, लेकिन कोई स्कीम नहीं है, तो content: और file: स्कीम माना जाता है.

ध्यान दें: Android फ़्रेमवर्क में स्कीम मैचिंग आरएफ़सी के उलट, केस-सेंसिटिव (बड़े और छोटे अक्षरों में अंतर) होता है. इस वजह से, हमेशा स्कीम तय करें का उपयोग करें.

android:host
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है यूआरआई अथॉरिटी का होस्ट वाला हिस्सा. इस एट्रिब्यूट का कोई मतलब नहीं है अगर scheme एट्रिब्यूट नहीं है फ़िल्टर के लिए भी दी गई है. एक से ज़्यादा सबडोमेन को मैच कराने के लिए, तारे के निशान (*) का इस्तेमाल करें. होस्ट में शून्य या उससे ज़्यादा वर्णों का मिलान करें. उदाहरण के लिए, होस्ट *.google.com मेल खाता है www.google.com, .google.com, और developer.google.com.

स्टार, होस्ट एट्रिब्यूट का पहला वर्ण होना चाहिए. उदाहरण के लिए, होस्ट google.co.* अमान्य है, क्योंकि तारे का वाइल्डकार्ड पहला वर्ण नहीं है.

ध्यान दें: Android फ़्रेमवर्क में होस्ट के नाम से मैच होने वाले होस्ट नेम फ़ॉर्मल आरएफ़सी के उलट, केस-सेंसिटिव (बड़े और छोटे अक्षरों में अंतर) होता है. इस वजह से, हमेशा होस्ट नाम के लिए छोटे अक्षरों का इस्तेमाल करें.

android:port
यूआरआई अथॉरिटी का पोर्ट वाला हिस्सा. इस एट्रिब्यूट का इस्तेमाल सिर्फ़ किया जा सकता है अगर scheme और इसके लिए भी host एट्रिब्यूट दिए गए हैं फ़िल्टर.
android:path
android:pathPrefix
android:pathSuffix
android:pathPattern
android:pathAdvancedPattern
यूआरआई का पाथ वाला हिस्सा, जो / से शुरू होना चाहिए. path एट्रिब्यूट तय करता है कि पाथ जो किसी Intent ऑब्जेक्ट में पूरे पाथ से मेल खाता है. कॉन्टेंट बनाने pathPrefix एट्रिब्यूट एक आंशिक पाथ के बारे में बताता है जिसका मिलान इससे किया जाता है Intent ऑब्जेक्ट में पाथ का सिर्फ़ शुरुआती हिस्सा.

कॉन्टेंट बनाने pathSuffix एट्रिब्यूट, पाथ के आखिरी हिस्से से एग्ज़ैक्ट मैच करता है: Intent ऑब्जेक्ट का इस्तेमाल कर रहे हैं और इस एट्रिब्यूट का / वर्ण से शुरू होना ज़रूरी नहीं है. कॉन्टेंट बनाने pathPattern एट्रिब्यूट एक पूरा पाथ बताता है जो पूरे पाथ से मेल खाता है Intent ऑब्जेक्ट में पाथ शामिल किया जा सकता है, लेकिन इसमें ये वाइल्डकार्ड हो सकते हैं:

  • तारा चिह्न (*) शून्य के क्रम से कई बार मेल खाता है इसके ठीक पहले वाला वर्ण.
  • तारे का निशान (.*) के बाद दिखने वाला पीरियड, इसके किसी भी क्रम से मेल खाता है शून्य या कई वर्ण इस्तेमाल किए जा सकते हैं.

pathAdvancedPattern एट्रिब्यूट एक पूरा पाथ बताता है, जिसका मिलान पाथ से किया जाता है Intent ऑब्जेक्ट का पूरा पाथ सबमिट करता है और नीचे दिए गए रेगुलर एक्सप्रेशन जैसे पैटर्न के साथ काम करता है:

  • पीरियड (.) किसी भी वर्ण से मेल खाता है.
  • सेट ([...]) वर्णों की रेंज से मेल खाता है. उदाहरण के लिए , [0-5] 0 से 5 तक के किसी एक अंक से मैच करता है, लेकिन 6 से 9 तक के नहीं. [a-zA-Z] अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है यह किसी भी अक्षर से मैच होता है. भले ही, वह केस कुछ भी हो. सेट में "नहीं" का भी इस्तेमाल किया जा सकता है ^ मॉडिफ़ायर.
  • तारे का निशान (*) मॉडिफ़ायर, पिछले पैटर्न के शून्य या उससे ज़्यादा बार मेल खाता है.
  • प्लस (+) मॉडिफ़ायर, पिछले पैटर्न से एक या ज़्यादा बार मेल खाता है.
  • ({...}) मॉडिफ़ायर से यह पता चलता है कि किसी पैटर्न में कितनी बार पैटर्न है मैच कर सकते हैं.
pathAdvancedPattern मैचर, इवैलुएशन को लागू करने की ऐसी प्रोसेस है जिसमें मैचिंग पैटर्न के हिसाब से रीयल टाइम में किया जाता है. इसमें बैकट्रैकिंग की सुविधा का इस्तेमाल नहीं किया जाता.

क्योंकि स्ट्रिंग को पढ़े जाने पर \ का इस्तेमाल एस्केप वर्ण के तौर पर किया जाता है एक्सएमएल से, इसे पैटर्न के तौर पर पार्स करने से पहले, आपको Double-escape करना होगा. उदाहरण के लिए, लिटरल * को \\* के तौर पर लिखा गया है और लिटरल \ को \\\ के रूप में लिखा गया है. जब आप कुछ लिखते हैं, तो स्ट्रिंग को Java कोड में बनाना.

इन पांच तरह के पैटर्न के बारे में ज़्यादा जानने के लिए, PATTERN_LITERAL, PATTERN_PREFIX, PATTERN_SIMPLE_GLOB, PATTERN_SUFFIX, और PATTERN_ADVANCED_GLOB में PatternMatcher क्लास.

ये एट्रिब्यूट तब ही काम के होते हैं, जब scheme और host फ़िल्टर के लिए एट्रिब्यूट भी तय किए जाते हैं.

pathSuffix और pathAdvancedPattern को एपीआई लेवल 31 में पेश किया गया था.

android:mimeType
MIME मीडिया टाइप, जैसे कि image/jpeg या audio/mpeg4-generic. उप-प्रकार तारांकन वाइल्डकार्ड (*) हो सकता है जो यह इंगित करता है कि सब-टाइप मैच हो रहा है.

इंटेंट फ़िल्टर, आम तौर पर ऐसे <data> एलिमेंट का एलान करता है जिसमें सिर्फ़ android:mimeType एट्रिब्यूट.

ध्यान दें: Android फ़्रेमवर्क में MIME टाइप फ़ॉर्मल आरएफ़सी MIME टाइप से अलग, केस-सेंसिटिव (बड़े और छोटे अक्षरों में अंतर) होता है. इस वजह से, हमेशा छोटे अक्षरों का इस्तेमाल करके MIME टाइप तय करें.

इसमें पेश किया गया:
एपीआई लेवल 1
यह भी देखें:
<action>
<category>