Android Manifest之元素中文註釋

語法

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

描述

    Activity的別名,由元素的targetActivity屬性命名。作爲別名,它和target activity必須在相同的應用中,而且在manifest文件中target activity必須在別名之前就被聲明。

    這個別名意味着這個target activity會作爲獨立的實體。它有它自己的一套intent filters,而不是target activity自身的intent filters,通過這個別名這些intent filters決定那些intents能激活這個target以及系統會如何處理這個別名。例如,在這個別名中的intent filter可以指定“android.intent.action.MAIN”和“android.intent.category.LAUNCHER”標記,這就會導致即使在這個target activity自身也設置了這些標記,而在應用啓動時卻激活的是這個別名。

    除了targetActivity,<activity-alias>屬性是<activity>屬性的子集。對於子集內的屬性來說,對這個target activity沒有設置的值會被轉嫁到別名上。然而,對於沒有在子集內的屬性來說,對這個target activity設置的值也會應用到別名。

屬性

android:enabled

    是否這個target activity能被系統通過這個別名初始化,若能則爲true,否則爲false。默認值是“true”。

    <application>元素有它自身的enabled屬性,這個屬性將被應用到所有的應用組件,包括activity別名。如果系統要通過別名初始化這個target activity,那麼<application>和<activity-alias>屬性都必須爲“true”。如果有一個爲false,那麼這個別名就不會工作。

android:exported

    是否其它應用的組件能通過這個別名啓動這個target activity,若能則爲true,否則爲false。若爲“false”,則這個target activity只能通過同一個應用的組件或具有相同用戶ID的applications啓動。

    默認值依賴於是否別名包含過濾器。過濾器的缺乏意味着這個activity只能通過由這個別名的精確名稱指定的別名調用。這意味着這個別名只能在應用內部被調用(因爲其他應用不知道別名的名稱)-因此默認值爲false。另一方面,至少存在一個過濾器意味着這個別名可以在外部被調用-因此默認值爲true。

android:icon

   通過別名呈現給用戶時這個target activity的圖標。查看<activity>元素的icon屬性可以獲取更多相關信息。

android:label

   通過別名呈現給用戶時這個讓用戶可讀的別名的名稱。更多信息參見<activity>元素的label屬性。

android:name

    這個別名的唯一的名稱。這個名稱類似於完整的類名。然而,和target activity的名稱不同的是,這個別名可以是任意的;它不引用實實在在的類。

android:permission

    客戶端通過別名啓動target activity或處理某些操作時的權限的名稱。如果沒有爲startActivity()或startActivityForResult()的調用者授予特定的權限,那麼這個target activity就不會被激活。

    這個屬性可以替換target activity自身的一切權限設置。如果沒有設置,那麼通過這個別名激活target activity時就不需要權限。

android:targetActivity

    能通過別名激活的activity的名稱。這個名稱必須匹配<activity>元素的name屬性,在manifest文件中這個<activity>位於別名之前。

出處

API Level 1

發佈了6 篇原創文章 · 獲贊 8 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章