Stay organized with collections Save and categorize content based on your preferences.
語法:
<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>
說明:
活動的別名,以 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」,則只有別名的同一應用程式或具有相同使用者 ID 之應用程式的元件,能透過別名啟動目標活動。

預設值取決於別名是否包含意圖篩選器。沒有任何篩選器時,只能指定別名的確切名稱,透過別名叫用活動。這表示別名僅供應用程式內部使用 (因為他人不知道別名的確切名稱),因此預設值是「false」。與之相反,如果存在至少一個篩選器,則表示別名會用於外部用途,因此預設值為「true」。

android:icon
透過別名向使用者顯示時,目標活動的圖示。詳情請參閱 <activity> 元素的 icon 屬性。
android:label
透過別名向使用者顯示時,別名的使用者可讀標籤。詳情請參閱 <activity> 元素的 label 屬性。

android:name
別名的專屬名稱。該名稱近似完整類別名稱。然而,與目標活動的名稱不同,別名是任意的,不代表實際類別。

android:permission
權限名稱,用戶端必須具有該權限才能啟動目標活動,或透過別名執行操作。如果 startActivity()startActivityForResult() 的呼叫者未獲得指定的權限,系統將不會啟動目標活動。

該屬性會取代目標活動本身的任何權限設定。如未設定,則表示無需權限即可透過別名啟動目標。

如要進一步瞭解權限,請參閱簡介中的權限章節。

android:targetActivity
可透過別名啟動的活動名稱。這個名稱必須與資訊清單中別名前方 <activity> 元素的 name 屬性相符。

導入版本:
API 級別 1
另請參閱:
<activity>