<activity-alias>

ไวยากรณ์:
<activity-alias android:enabled=["true" | "false"]
                android:exported=["true" | "false"]
                android:icon="drawable resource"
                android:label="string resource"
                android:name="string"
                android:permission="string"
                android:targetActivity="string" >
    ...
</activity-alias>
อยู่ใน:
<application>
สามารถมี:
<intent-filter>
<meta-data>
<property>
คำอธิบาย:
ชื่อแทนของกิจกรรม ซึ่งตั้งชื่อโดยแอตทริบิวต์ targetActivity เป้าหมายต้องอยู่ในแอปพลิเคชันเดียวกับชื่อแทนและประกาศก่อนชื่อแทนในไฟล์ Manifest

ชื่อแทนจะแสดงกิจกรรมเป้าหมายเป็นเอนทิตีอิสระ และสามารถมีชุดตัวกรอง Intent ของตัวเองได้ ตัวกรอง Intent ในชื่อแทนจะเป็นตัวกำหนดว่า Intent ใดสามารถเปิดใช้งานเป้าหมายผ่านชื่อแทนได้ และระบบจะจัดการชื่อแทนอย่างไร แทนที่จะเป็นตัวกรอง Intent ในกิจกรรมเป้าหมายเอง

ตัวอย่างเช่น ตัวกรอง Intent ในชื่อแทนอาจระบุแฟล็ก "android.intent.action.MAIN" และ "android.intent.category.LAUNCHER"" ซึ่งทำให้ชื่อแทนแสดงใน Launcher ของแอปพลิเคชัน แม้ว่าตัวกรองในกิจกรรมเป้าหมายเองจะไม่ได้ตั้งค่าแฟล็กเหล่านี้ก็ตาม

แอตทริบิวต์ <activity-alias> เป็นส่วนย่อยของแอตทริบิวต์ <activity> ยกเว้น targetActivity สำหรับแอตทริบิวต์ในส่วนย่อย ค่าที่ตั้งไว้สำหรับเป้าหมายจะไม่มีผลกับชื่อแทน อย่างไรก็ตาม สำหรับแอตทริบิวต์ที่ไม่อยู่ในส่วนย่อย ค่าที่ตั้งไว้สำหรับกิจกรรมเป้าหมายจะมีผลกับชื่อแทนด้วย

แอตทริบิวต์:
android:enabled
ระบุว่าระบบสร้างอินสแตนซ์ของกิจกรรมเป้าหมายผ่านชื่อแทนนี้ได้หรือไม่ ให้ระบุ "true" หากสร้างได้ และ "false" หากสร้างไม่ได้ ค่าเริ่มต้นคือ "true"

องค์ประกอบ <application> มีแอตทริบิวต์ enabled ของตัวเองซึ่งใช้กับคอมโพเนนต์ทั้งหมดของ แอปพลิเคชัน รวมถึงชื่อแทนของกิจกรรม แอตทริบิวต์ <application> และ <activity-alias> ต้องเป็น "true" ทั้งคู่ ระบบจึงจะสร้างอินสแตนซ์ ของกิจกรรมเป้าหมายผ่านชื่อแทนได้ หากแอตทริบิวต์ใดแอตทริบิวต์หนึ่งเป็น "false" ชื่อแทนจะไม่ทำงาน

android:exported
ระบุว่าคอมโพเนนต์ของแอปพลิเคชันอื่นๆ สามารถเปิดใช้กิจกรรมเป้าหมายผ่านชื่อแทนนี้ได้หรือไม่ ให้ระบุ "true" หากเปิดใช้ได้ และ "false" หากเปิดใช้ไม่ได้ หากระบุ "false" คอมโพเนนต์ของแอปพลิเคชันเดียวกันกับชื่อแทนหรือแอปพลิเคชันที่มีรหัสผู้ใช้เดียวกันเท่านั้นที่จะเปิดใช้กิจกรรมเป้าหมายผ่านชื่อแทนได้

ค่าเริ่มต้นจะขึ้นอยู่กับว่าชื่อแทนมีตัวกรอง Intent หรือไม่ หากไม่มีตัวกรองใดๆ หมายความว่าคุณจะเรียกใช้กิจกรรมผ่านชื่อแทนได้โดยระบุชื่อแทนที่ถูกต้องเท่านั้น ซึ่งหมายความว่าชื่อแทนมีไว้ใช้ภายในแอปพลิเคชันเท่านั้น เนื่องจากผู้อื่นไม่ทราบชื่อ ดังนั้นค่าเริ่มต้นจึงเป็น "false" ในทางกลับกัน หากมีตัวกรองอย่างน้อย 1 รายการ หมายความว่าชื่อแทนมีไว้ใช้ภายนอก ดังนั้นค่าเริ่มต้นจึงเป็น "true"

android:icon
ไอคอนสำหรับกิจกรรมเป้าหมายเมื่อแสดงต่อผู้ใช้ผ่านชื่อแทน ดูข้อมูลเพิ่มเติมได้ที่แอตทริบิวต์ icon ขององค์ประกอบ <activity>
android:label
ป้ายกำกับที่ผู้ใช้เข้าใจได้สำหรับชื่อแทนเมื่อแสดงต่อผู้ใช้ผ่านชื่อแทน ดูข้อมูลเพิ่มเติมได้ที่แอตทริบิวต์ label ขององค์ประกอบ <activity>

android:name
ชื่อที่ไม่ซ้ำกันสำหรับอีเมลแทน ชื่อนี้คล้ายกับชื่อคลาสที่มีคุณสมบัติครบถ้วน แต่ชื่อแทนเป็นชื่อที่กำหนดขึ้นเอง ไม่เหมือนกับชื่อของกิจกรรมเป้าหมาย โดยไม่ได้หมายถึงคลาสจริง

android:permission
ชื่อสิทธิ์ที่ไคลเอ็นต์ต้องมีเพื่อเปิดใช้กิจกรรมเป้าหมายหรือทำให้กิจกรรมเป้าหมายดำเนินการบางอย่างโดยใช้ชื่อแทน หากผู้เรียก startActivity() หรือ startActivityForResult() ไม่ได้รับสิทธิ์ที่ระบุ กิจกรรมเป้าหมายจะไม่เปิดใช้งาน

แอตทริบิวต์นี้จะแทนที่กลุ่มสิทธิ์ใดก็ตามที่ตั้งไว้สำหรับกิจกรรมเป้าหมายเอง หากไม่ได้ตั้งค่าไว้ ก็ไม่จำเป็นต้องมีสิทธิ์ในการเปิดใช้งานเป้าหมายผ่านชื่อแทน

ดูข้อมูลเพิ่มเติมเกี่ยวกับสิทธิ์ได้ที่ ส่วนสิทธิ์ ในภาพรวมของไฟล์ Manifest ของแอป

android:targetActivity
ชื่อของกิจกรรมที่เปิดใช้งานผ่านชื่อแทนได้ ชื่อนี้ต้องตรงกับแอตทริบิวต์ name ขององค์ประกอบ <activity> ที่อยู่ก่อน ชื่อแทนในไฟล์ Manifest

เปิดตัวใน:
ระดับ API 1
ดูเพิ่มเติม:
<activity>