- कोडिंग दुर्भाग्य से ऐसा लगता है कि एंड्रॉयड वाइल्डकार्ड डोमेन को संभाल नहीं सकते हैं।
आप डेटा टैग (https://developer.android.com/guide/topics/manifest/data-element.html) के लिए API मार्गदर्शिका को देखें, तो आप देख सकते हैं कि वे उल्लेख है कि वाइल्डकार्ड pathPattern और MIMETYPE के लिए उपलब्ध है, लेकिन मेजबान के लिए नहीं।
बात यह है कि, के रूप में विषय (https://stackoverflow.com/a/34068591/4160079) पर एक अन्य पोस्ट,
डोमेन समय स्थापित पर जाँच कर रहे हैं में CommonsWare से समझाया है, और वहाँ शिपिंग के अलावा नए डोमेन जोड़ने के लिए कोई साधन है एक नए मैनिफेस्ट के साथ ऐप का एक नया संस्करण।
तो आपको उपलब्ध सभी सबडोमेन मैन्युअल रूप से सूचीबद्ध करना होगा, और जब भी कोई नया सबडोमेन लॉन्च किया जाए तो ऐप को अपडेट करना होगा।
यहाँ आप अधिक उप डोमेन कैसे घोषित है:
<activity android:name="MainActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http" />
<data android:host="subdomain1.example.com" />
<data android:host="subdomain2.example.com" />
<data android:host="subdomain3.example.com" />
</intent-filter>
</activity>
- हाँ, आप रास्तों
का केवल एक उपसमूह संभाल कर सकते हैं यह वही विचार है , बस पथ विशेषता का उपयोग करके इच्छित पथों को सूचीबद्ध करें (फिर, डेटा उपरोक्त टैग API मार्गदर्शिका देखें)।
यदि आप क्वेरी स्ट्रिंग्स या पथ पैराम्स का उपयोग करते हैं, तो पथप्रिक्स का उपयोग करना पसंद करते हैं।
यदि आवश्यक हो, तो आप पथपटर चुनकर, यहां वाइल्डकार्ड का उपयोग कर सकते हैं।
एक यूआरआई का पथ हिस्सा जो/से शुरू होना चाहिए। पथ विशेषता एक पूर्ण पथ निर्दिष्ट करती है जो एक उद्देश्य वस्तु में पूर्ण पथ के साथ मेल खाती है। पथफ्रिक्स विशेषता एक आंशिक पथ निर्दिष्ट करती है जो इरादे ऑब्जेक्ट में पथ के प्रारंभिक भाग के विरुद्ध मेल खाती है। पथपटल विशेषता एक पूर्ण पथ निर्दिष्ट करती है जो इरादे ऑब्जेक्ट में पूर्ण पथ के साथ मेल खाती है, लेकिन इसमें निम्नलिखित वाइल्डकार्ड हो सकते हैं: एक तारांकन ('') तुरंत पिछले वर्ण की कई घटनाओं के 0 के अनुक्रम से मेल खाता है। एक अवधि के बाद एक अवधि ("") कई वर्णों के 0 के अनुक्रम से मेल खाती है।
यहाँ कुछ उदाहरण है:
<activity android:name="MainActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http" />
<data android:host="subdomain1.example.com" />
<data android:host="subdomain2.example.com" />
<data android:host="subdomain3.example.com" />
<data android:path="/path1" /> <!-- matches /path1 only -->
<data android:pathPrefix="/path2" /> <!-- matches /path2, /path2/something or also /path2?key=value etc... -->
<data android:pathPattern="/wild.*" /> <!-- matches /wild, /wild3, /wilderness etc... -->
</intent-filter>
</activity>
पिछले के लिए, [कोशिश 'एंड्रॉयड:' ' तत्व पर path'] (https://developer.android.com/guide/topics/ प्रकट/डेटा-element.html)। – CommonsWare
वाइल्डकार्ड डोमेन/होस्ट्स के संबंध में, मैं यहां इरादा फ़िल्टर स्रोत में वाइल्डकार्ड होस्ट करने के लिए कुछ संदर्भ देख रहा हूं - https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/content/ IntentFilter.java। यह निष्कर्ष निकालने से पहले कि यह नहीं किया जा सकता है, शायद कोई उस पर नज़र डालें और देखें कि यह इस प्रश्न के संदर्भ में प्रासंगिक है या नहीं। – Jaanus
यदि आप 'mwild' का उल्लेख कर रहे हैं और 'अथॉरिटी एंटर्री' पर, तो 'मिलान()' कार्यान्वयन सही नहीं लगता है। लेकिन, इसके अलावा, ''/'IntentFilter' में वाइल्डकार्ड कार्यक्षमता काम करना आवश्यक है लेकिन पर्याप्त नहीं है। यह संभव है कि फ़िल्टर वाइल्डकार्ड का समर्थन करते हैं, लेकिन ऐप लिंक नहीं करते हैं। –
CommonsWare