<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>
description:
اسم مستعار لنشاط، ويتم تسميته بواسطة السمة 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"، لا يمكن تشغيل النشاط المستهدف من خلال الاسم المستعار إلا بواسطة مكوّنات التطبيق نفسه الذي يتضمّن الاسم المستعار أو التطبيقات التي لها رقم تعريف المستخدم نفسه.

تعتمد القيمة التلقائية على ما إذا كان الاسم المستعار يحتوي على فلاتر أهداف. يعني عدم توفّر أي فلاتر أنّه لا يمكن استدعاء النشاط من خلال الاسم المستعار إلا بتحديد الاسم الدقيق للاسم المستعار. ويشير ذلك إلى أنّ الاسم المستعار مخصّص للاستخدام الداخلي في التطبيق فقط، لأنّ الآخرين لا يعرفون اسمه. وبالتالي، تكون القيمة التلقائية "false". من ناحية أخرى، يشير توفّر فلتر واحد على الأقل إلى أنّ الاسم المستعار مخصّص للاستخدام الخارجي، وبالتالي تكون القيمة التلقائية هي "true".

android:icon
رمز للنشاط المستهدَف عند عرضه للمستخدمين من خلال الاسم المستعار لمزيد من المعلومات، اطّلِع على السمة icon الخاصة بالعنصر <activity>.
android:intentMatchingFlags

استخدِم هذه السمة لضبط طريقة مطابقة النظام للأهداف الواردة مع مكوّنات التطبيق. لا يتم تطبيق أي قواعد مطابقة خاصة بشكل تلقائي.

تتجاهل القيمة المضبوطة على علامة <activity-alias> القيمة المضبوطة على <activity> المستهدَفة أو الموروثة من <application> للاسم المستعار المحدّد. إذا لم يتم تحديدها بشكل صريح في الاسم المستعار، سيتم اكتساب السلوك من النشاط المستهدف أو التطبيق.

يجب أن تكون القيمة واحدة أو أكثر من العلامات التالية، مفصولة بـ "|":

علم الوصف
none يوقف هذا الخيار جميع قواعد المطابقة الخاصة للطلبات الواردة. عند تحديد علامات متعدّدة، يتم حل القيم المتعارضة من خلال منح الأولوية للعلامة none.
enforceIntentFilter

يفرض مطابقة أكثر صرامة لطلبات Intent الواردة:

  • يجب أن تتطابق الأهداف الصريحة مع فلتر Intent الخاص بالمكوِّن المستهدف.
  • لا تتطابق الأهداف التي لا تتضمّن إجراءً مع أي فلتر أهداف.
allowNullAction

يخفّف من قواعد المطابقة للسماح بمطابقة الأهداف بدون إجراء. تُستخدَم هذه العلامة مع enforceIntentFilter لتحقيق السلوك التالي:

  • يجب أن تتطابق الأهداف الصريحة مع فلتر Intent الخاص بالمكوِّن المستهدف.
  • يُسمح بأن تتطابق الأهداف التي لا تتضمّن إجراءً مع أي فلتر أهداف.

لمزيد من المعلومات، يُرجى الاطّلاع على قسم نوايا أكثر أمانًا في التغييرات في سلوك Android 16 (المستوى 36 لواجهة برمجة التطبيقات).

android:label
تصنيف يمكن للمستخدم قراءته للاسم المستعار عند عرضه للمستخدمين من خلال الاسم المستعار. لمزيد من المعلومات، اطّلِع على السمة label الخاصة بالعنصر <activity>.
android:name
اسم فريد للاسم المستعار. يشبه الاسم اسم فئة مؤهَّل بالكامل. على عكس اسم النشاط المستهدف، يكون اسم الاسم المستعار اختياريًا. ولا يشير إلى صف فعلي.
android:permission
اسم الإذن الذي يجب أن يحصل عليه العملاء لبدء النشاط المستهدف أو جعله ينفّذ إجراءً باستخدام الاسم المستعار. إذا لم يتم منح المتصل بوظيفة startActivity() أو startActivityForResult() الإذن المحدّد، لن يتم تنشيط النشاط المستهدف.

تحلّ هذه السمة محلّ أي إذن تم ضبطه للنشاط المستهدف نفسه. إذا لم يتم ضبطها، لن يكون هناك حاجة إلى إذن لتفعيل الهدف من خلال الاسم المستعار.

لمزيد من المعلومات حول الأذونات، يُرجى الاطّلاع على قسم الأذونات في النظرة العامة على بيان التطبيق.

android:targetActivity
اسم النشاط الذي يمكن تفعيله من خلال الاسم المستعار. يجب أن يتطابق هذا الاسم مع السمة name لعنصر <activity> الذي يسبق الاسم المستعار في البيان.
تم إدخال القدرة لأول مرة في:
مستوى واجهة برمجة التطبيقات 1
راجِع أيضًا:
<activity>