1. 程式人生 > >Android官方文件—APP清單(activity-alias)

Android官方文件—APP清單(activity-alias)

<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>

包含於:

可以包含:

說明:

活動的別名,由targetActivity屬性命名。目標必須與別名位於同一應用程式中,並且必須在清單中的別名之前宣告。

別名將目標活動表示為獨立實體。它可以有自己的一組intent過濾器,而不是目標活動本身的intent過濾器,它們確定哪些意圖可以通過別名啟用目標以及系統如何處理別名。例如,別名上的intent過濾器可以指定“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>元素的圖示屬性。

android:label

通過別名向用戶顯示別名的使用者可讀標籤。有關更多資訊,請參閱<activity>元素的label屬性。

別名的唯一名稱。該名稱應類似於完全限定的類名。但是,與目標活動的名稱不同,別名是任意的;它不是指實際的類。

android:permission

客戶端必須具有的許可權名稱才能啟動目標活動或通過別名使其執行某些操作。如果未授予startActivity()或startActivityForResult()的呼叫者指定的許可權,則不會啟用目標活動。

此屬性取代了為目標活動本身設定的任何許可權。如果未設定,則不需要通過別名啟用目標的許可權。

有關許可權的更多資訊,請參閱簡介中的“許可權”部分。

android:targetActivity

可以通過別名啟用的活動的名稱。此名稱必須與清單中別名之前的<activity>元素的name屬性匹配。

引入於:

API Level 1

參閱: