<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>
说明:
活动的别名,由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
参阅:
<activity>