- 語法:
<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>
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2022-05-06 UTC.
[]
[]