<activity-alias>

نحو:
<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 نامگذاری شده است. هدف باید در همان برنامه‌ای باشد که نام مستعار در آن قرار دارد و قبل از نام مستعار در مانیفست اعلام شده است.

این نام مستعار، فعالیت هدف را به عنوان یک موجودیت مستقل ارائه می‌دهد و می‌تواند مجموعه‌ای از فیلترهای هدف خاص خود را داشته باشد. آنها، به جای فیلترهای هدف روی خود فعالیت هدف، تعیین می‌کنند که کدام اهداف می‌توانند هدف را از طریق نام مستعار فعال کنند و سیستم چگونه با نام مستعار رفتار کند.

برای مثال، فیلترهای intent روی نام مستعار ممکن است پرچم‌های "android.intent.action.MAIN" و "android.intent.category.LAUNCHER" را مشخص کنند و باعث شوند که در لانچر برنامه نمایش داده شود، حتی اگر هیچ یک از فیلترهای موجود در خود activity هدف این پرچم‌ها را تنظیم نکرده باشند.

به استثنای targetActivity ، ویژگی‌های <activity-alias> زیرمجموعه‌ای از ویژگی‌های <activity> هستند. برای ویژگی‌های موجود در زیرمجموعه، هیچ یک از مقادیر تعیین‌شده برای فعالیت هدف به نام مستعار منتقل نمی‌شوند. با این حال، برای ویژگی‌هایی که در زیرمجموعه نیستند، مقادیر تعیین‌شده برای فعالیت هدف برای نام مستعار نیز اعمال می‌شوند.

ویژگی‌ها:
android:enabled
آیا فعالیت هدف می‌تواند توسط سیستم از طریق این نام مستعار نمونه‌سازی شود یا خیر. اگر امکان‌پذیر باشد "true" و اگر نباشد "false" . مقدار پیش‌فرض "true" است.

عنصر <application> ویژگی enabled به خود را دارد که به تمام اجزای برنامه، از جمله نام‌های مستعار فعالیت، اعمال می‌شود. ویژگی‌های <application> و <activity-alias> باید هر دو "true" باشند تا سیستم بتواند از طریق نام مستعار، فعالیت هدف را نمونه‌سازی کند. اگر هر کدام "false" باشد، نام مستعار کار نمی‌کند.

android:exported
اینکه آیا اجزای برنامه‌های دیگر می‌توانند از طریق این نام مستعار، اکتیویتی هدف را اجرا کنند یا خیر. اگر می‌توانند "true" و اگر نه "false" انتخاب کنید. اگر "false" باشد، اکتیویتی هدف فقط توسط اجزای همان برنامه با نام مستعار یا برنامه‌هایی با شناسه کاربری یکسان، می‌تواند از طریق نام مستعار اجرا شود.

مقدار پیش‌فرض بستگی به این دارد که آیا نام مستعار شامل فیلترهای intent است یا خیر. عدم وجود هرگونه فیلتر به این معنی است که اکتیویتی فقط با مشخص کردن نام دقیق نام مستعار می‌تواند از طریق نام مستعار فراخوانی شود. این بدان معناست که نام مستعار فقط برای استفاده داخلی برنامه در نظر گرفته شده است، زیرا دیگران نام آن را نمی‌دانند. بنابراین، مقدار پیش‌فرض "false" است. از سوی دیگر، وجود حداقل یک فیلتر نشان می‌دهد که نام مستعار برای استفاده خارجی در نظر گرفته شده است، بنابراین مقدار پیش‌فرض "true" است.

android:icon
یک آیکون برای اکتیویتی هدف، زمانی که از طریق نام مستعار به کاربران ارائه می‌شود. برای اطلاعات بیشتر، به ویژگی icon عنصر <activity> مراجعه کنید.
android:intentMatchingFlags

از این ویژگی برای تنظیم دقیق نحوه تطبیق اهداف ورودی سیستم با اجزای برنامه استفاده کنید. به طور پیش‌فرض، هیچ قانون تطبیق خاصی اعمال نمی‌شود.

مقداری که روی تگ <activity-alias> تنظیم می‌شود، مقداری که روی <activity> هدف تنظیم شده یا از <application> برای آن نام مستعار خاص به ارث رسیده است را لغو می‌کند. اگر به صراحت روی نام مستعار تعریف نشده باشد، رفتار را از فعالیت هدف یا برنامه به ارث می‌برد.

مقدار باید یک یا چند مورد از پرچم‌های زیر باشد که با ' | ' از هم جدا شده‌اند:

پرچم توضیحات
none تمام قوانین تطبیق ویژه را برای ورودی‌های ورودی غیرفعال می‌کند. هنگام تعیین چندین پرچم، مقادیر متناقض با دادن اولویت به پرچم none حل می‌شوند.
enforceIntentFilter

تطبیق سختگیرانه‌تری را برای اهداف ورودی اعمال می‌کند:

  • اهداف صریح باید با فیلتر هدف کامپوننت هدف مطابقت داشته باشند.
  • اینتنت‌های بدون اکشن با هیچ فیلتر اینتنتی مطابقت ندارند.
allowNullAction

قوانین تطبیق را آسان می‌کند تا به intent های بدون اکشن اجازه تطبیق داده شود. این پرچم همراه با enforceIntentFilter برای دستیابی به رفتار زیر استفاده می‌شود:

  • اهداف صریح باید با فیلتر هدف کامپوننت هدف مطابقت داشته باشند.
  • اینتنت‌های بدون اکشن مجاز به مطابقت با هر فیلتر اینتنتی هستند.

برای اطلاعات بیشتر، به بخش « اهداف امن‌تر» در تغییرات رفتاری اندروید ۱۶ (سطح API ۳۶) مراجعه کنید.

android:label
یک برچسب قابل خواندن توسط کاربر برای نام مستعار، زمانی که از طریق نام مستعار به کاربران ارائه می‌شود. برای اطلاعات بیشتر، به ویژگی label عنصر <activity> مراجعه کنید.
android:name
یک نام منحصر به فرد برای نام مستعار. این نام شبیه به نام یک کلاس کاملاً واجد شرایط است. برخلاف نام فعالیت هدف، نام مستعار دلخواه است. به یک کلاس واقعی اشاره نمی‌کند.
android:permission
نام مجوزی که کلاینت‌ها برای راه‌اندازی اکتیویتی هدف یا انجام کاری با استفاده از نام مستعار باید داشته باشند. اگر به فراخوانی‌کننده‌ی startActivity() یا startActivityForResult() مجوز مشخص‌شده اعطا نشود، اکتیویتی هدف فعال نمی‌شود.

این ویژگی جایگزین هر مجوزی می‌شود که برای خودِ فعالیت هدف تعیین شده باشد. اگر تنظیم نشده باشد، برای فعال کردن هدف از طریق نام مستعار، نیازی به مجوز نیست.

برای اطلاعات بیشتر در مورد مجوزها، به بخش مجوزها در نمای کلی مانیفست برنامه مراجعه کنید.

android:targetActivity
نام فعالیتی که می‌تواند از طریق نام مستعار فعال شود. این نام باید با ویژگی name یک عنصر <activity> که قبل از نام مستعار در مانیفست قرار دارد، مطابقت داشته باشد.
معرفی شده در:
API سطح ۱
همچنین ببینید:
<activity>