- सिंटैक्स:
<activity-alias android:enabled=["true" | "false"] android:exported=["true" | "false"] android:icon="drawable resource" android:intentMatchingFlags=["none" | "enforceIntentFilter" | "allowNullAction"] android:label="string resource" android:name="string" android:permission="string" android:targetActivity="string" > ... </activity-alias>
- इसमें शामिल है:
<application>- इसमें ये शामिल हो सकते हैं:
<intent-filter><meta-data><property>- विवरण:
- गतिविधि के लिए कोई दूसरा नाम, जिसे
targetActivityएट्रिब्यूट से तय किया जाता है. टारगेट, उसी ऐप्लिकेशन में होना चाहिए जिसमें ऐलिस है. साथ ही, इसे मेनिफ़ेस्ट में ऐलिस से पहले घोषित किया जाना चाहिए.एलियास, टारगेट गतिविधि को एक स्वतंत्र इकाई के तौर पर दिखाता है. साथ ही, इसमें इंटेंट फ़िल्टर का अपना सेट हो सकता है. ये फ़िल्टर, टारगेट गतिविधि पर मौजूद इंटेंट फ़िल्टर के बजाय यह तय करते हैं कि कौनसे इंटेंट, एलियास के ज़रिए टारगेट को चालू कर सकते हैं. साथ ही, यह भी तय करते हैं कि सिस्टम, एलियास को कैसे इस्तेमाल करता है.
उदाहरण के लिए, ऐसा हो सकता है कि ऐप्लिकेशन के एलियास पर मौजूद इंटेंट फ़िल्टर,
"android.intent.action.MAIN"और"android.intent.category.LAUNCHER"फ़्लैग तय करें. इस वजह से, ऐप्लिकेशन लॉन्चर में एलियास दिखता है. भले ही, टारगेट ऐक्टिविटी पर मौजूद किसी भी फ़िल्टर ने इन फ़्लैग को सेट न किया हो.targetActivityको छोड़कर,<activity-alias>एट्रिब्यूट,<activity>एट्रिब्यूट का सबसेट होते हैं. सबसेट में मौजूद एट्रिब्यूट के लिए, टारगेट के लिए सेट की गई कोई भी वैल्यू, उपनाम में नहीं दिखती. हालांकि, सबसेट में शामिल नहीं किए गए एट्रिब्यूट के लिए, टारगेट गतिविधि के लिए सेट की गई वैल्यू, एलियास पर भी लागू होती हैं. - एट्रिब्यूट:
android:enabled- क्या सिस्टम, इस एलियास के ज़रिए टारगेट गतिविधि को इंस्टैंशिएट कर सकता है.
"true"अगर ऐसा किया जा सकता है और"false"अगर ऐसा नहीं किया जा सकता. डिफ़ॉल्ट वैल्यू"true"है.<application>एलिमेंट का अपनाenabledएट्रिब्यूट होता है. यह ऐप्लिकेशन के सभी कॉम्पोनेंट पर लागू होता है. इसमें गतिविधि के एलियास भी शामिल हैं. सिस्टम को टारगेट ऐक्टिविटी को एलियास के ज़रिए इंस्टैंशिएट करने के लिए,<application>और<activity-alias>, दोनों एट्रिब्यूट"true"होने चाहिए. अगर इनमें से कोई भी"false"है, तो उपनाम काम नहीं करेगा. android:exported- इससे यह तय होता है कि अन्य ऐप्लिकेशन के कॉम्पोनेंट, इस एलियास के ज़रिए टारगेट ऐक्टिविटी लॉन्च कर सकते हैं या नहीं.
"true"अगर वे ऐसा कर सकते हैं और"false"अगर वे ऐसा नहीं कर सकते. अगर"false"है, तो टारगेट गतिविधि को सिर्फ़ इन तरीकों से लॉन्च किया जा सकता है: ऐप्लिकेशन के कॉम्पोनेंट, ऐप्लिकेशन के एलियास के तौर पर काम कर रहे हों या ऐप्लिकेशन का User ID एक जैसा हो.डिफ़ॉल्ट वैल्यू इस बात पर निर्भर करती है कि ऐलिस में इंटेंट फ़िल्टर शामिल हैं या नहीं. किसी भी फ़िल्टर के न होने का मतलब है कि गतिविधि को सिर्फ़ उपनाम के ज़रिए शुरू किया जा सकता है. इसके लिए, उपनाम का सटीक नाम बताना होगा. इसका मतलब है कि उपनाम का इस्तेमाल सिर्फ़ ऐप्लिकेशन के अंदरूनी इस्तेमाल के लिए किया जाता है, क्योंकि दूसरों को इसका नाम नहीं पता होता. इसलिए, डिफ़ॉल्ट वैल्यू
"false"है. दूसरी ओर, कम से कम एक फ़िल्टर मौजूद होने का मतलब है कि एलियास का इस्तेमाल बाहरी तौर पर किया जाना है. इसलिए, डिफ़ॉल्ट वैल्यू"true"है. android:icon- एलियास के ज़रिए उपयोगकर्ताओं को टारगेट गतिविधि दिखाने के लिए आइकॉन.
ज़्यादा जानकारी के लिए,
<activity>एलिमेंट काiconएट्रिब्यूट देखें. android:intentMatchingFlags-
इस एट्रिब्यूट का इस्तेमाल करके, यह बेहतर तरीके से तय किया जा सकता है कि सिस्टम, ऐप्लिकेशन कॉम्पोनेंट के साथ आने वाले इंटेंट को कैसे मैच करे. डिफ़ॉल्ट रूप से, मैचिंग के कोई खास नियम लागू नहीं होते हैं.
<activity-alias>टैग पर सेट की गई वैल्यू, टारगेट<activity>पर सेट की गई वैल्यू को बदल देती है. इसके अलावा, यह वैल्यू उस खास उपनाम के लिए<application>से इनहेरिट की गई वैल्यू को भी बदल देती है. अगर इसे एलियास पर साफ़ तौर पर तय नहीं किया गया है, तो यह टारगेट ऐक्टिविटी या ऐप्लिकेशन के व्यवहार को इनहेरिट करता है.इसकी वैल्यू, यहां दिए गए एक या उससे ज़्यादा फ़्लैग में से कोई एक होनी चाहिए. फ़्लैग को '
|' से अलग करें:झंडा ब्यौरा noneइससे, आने वाले इंटेंट के लिए मैचिंग के सभी खास नियम बंद हो जाते हैं. एक से ज़्यादा फ़्लैग तय करते समय, अलग-अलग वैल्यू को इस तरह से तय किया जाता है कि noneफ़्लैग को प्राथमिकता दी जाती है.enforceIntentFilterइससे आने वाले इंटेंट के लिए, ज़्यादा सटीक मैचिंग लागू होती है:
- एक्सप्लिसिट इंटेंट, टारगेट कॉम्पोनेंट के इंटेंट फ़िल्टर से मेल खाने चाहिए.
- कार्रवाई के बिना इंटेंट, किसी भी इंटेंट फ़िल्टर से मेल नहीं खाते.
allowNullActionयह मैचिंग के नियमों को आसान बनाता है, ताकि बिना किसी कार्रवाई वाले इंटेंट को मैच किया जा सके. इस फ़्लैग का इस्तेमाल
enforceIntentFilterके साथ किया जाता है, ताकि ये काम किए जा सकें:- एक्सप्लिसिट इंटेंट, टारगेट कॉम्पोनेंट के इंटेंट फ़िल्टर से मेल खाने चाहिए.
- कार्रवाई के बिना इंटेंट को किसी भी इंटेंट फ़िल्टर से मैच करने की अनुमति होती है.
ज़्यादा जानकारी के लिए, Android 16 (एपीआई लेवल 36) के व्यवहार में हुए बदलावों के बारे में जानकारी देने वाले पेज पर ज़्यादा सुरक्षित इंटेंट सेक्शन देखें.
android:label- यह उपनाम के लिए ऐसा लेबल होता है जिसे उपयोगकर्ता आसानी से पढ़ सकते हैं. यह लेबल, उपनाम के ज़रिए उपयोगकर्ताओं को दिखाया जाता है.
ज़्यादा जानकारी के लिए,
<activity>एलिमेंट काlabelएट्रिब्यूट देखें. android:name- दूसरे ईमेल पते के लिए यूनीक नाम. नाम, पूरी तरह क्वालिफ़ाइड क्लास के नाम जैसा दिखता है. टारगेट गतिविधि के नाम के उलट, उपनाम कोई भी हो सकता है. यह किसी क्लास का नाम नहीं है.
android:permission- यह उस अनुमति का नाम है जो क्लाइंट के पास टारगेट गतिविधि को लॉन्च करने के लिए होनी चाहिए. इसके अलावा, क्लाइंट के पास उपनाम का इस्तेमाल करके गतिविधि को कुछ काम करने के लिए कहने की अनुमति भी होनी चाहिए. अगर
startActivity()याstartActivityForResult()का इस्तेमाल करने वाले व्यक्ति को अनुमति नहीं दी जाती है, तो टारगेट गतिविधि चालू नहीं होती.यह एट्रिब्यूट, टारगेट गतिविधि के लिए सेट किए गए किसी भी अनुमति के सेट को बदल देता है. अगर इसे सेट नहीं किया गया है, तो एलियास के ज़रिए टारगेट को चालू करने के लिए अनुमति की ज़रूरत नहीं होती.
अनुमतियों के बारे में ज़्यादा जानने के लिए, ऐप्लिकेशन मेनिफ़ेस्ट की खास जानकारी में अनुमतियां सेक्शन देखें.
android:targetActivity- उस गतिविधि का नाम जिसे उपनाम के ज़रिए चालू किया जा सकता है.
यह नाम, मेनिफ़ेस्ट में मौजूद उस
<activity>एलिमेंट केnameएट्रिब्यूट से मेल खाना चाहिए जो ऐलियास से पहले आता है.
- इसे इसमें पेश किया गया:
- एपीआई लेवल 1
- यह भी देखें:
<activity>
<गतिविधि-उपनाम>
इस पेज पर मौजूद कॉन्टेंट और कोड सैंपल कॉन्टेंट के लाइसेंस में बताए गए लाइसेंस के हिसाब से हैं. Java और OpenJDK, Oracle और/या इससे जुड़ी हुई कंपनियों के ट्रेडमार्क या रजिस्टर किए हुए ट्रेडमार्क हैं.
आखिरी बार 2026-07-03 (UTC) को अपडेट किया गया.
[null,null,["आखिरी बार 2026-07-03 (UTC) को अपडेट किया गया."],[],[]]