您的位置:首页 > 移动开发 > Android开发

Android开发-API指南-<activity-alias>

2014-12-22 12:49 375 查看

<activity-alias>

英文原文:http://developer.android.com/guide/topics/manifest/activity-alias-element.html

采集(更新)日期:2014-6-26

搬迁自原博客:http://blog.sina.com.cn/s/blog_48d491300100zmg5.html

语法:

<activity-aliasandroid: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
属性命名的 Activity 指定别名。
目标 Activity 必须位于当前应用程序中,且必须已在 manifest 中声明。

别名将目标 Activity 表示为另一个独立的实体。
该实体可以拥有一套自己的 Intent 过滤器,而不使用目标 Activity 已有的过滤器。
这些过滤器可以决定哪些 Intent 能通过别名来激活目标 Activity,并且决定系统如何处理别名。
例如:别名内的 Intent 过滤器可以设定“
android.intent.action.MAIN
”和“
android.intent.category.LAUNCHER

标志,使之能被程序启动器识别,即使目标 Activity 没有过滤器设置了这两个标志也没关系。

targetActivity
外,
<activity-alias>
的属性就是
<activity>

属性的子集。
对于该子集中已有的属性,目标 Activity 中的设置值不会覆盖别名里的值。
对于子集中没有的属性,则目标 Activity 中的设置值同时适用于别名。

属性:
android:enabled

系统能否用别名实例化目标 Activity —“
true
”表示可以,“
false
”表示不可以。
默认值是“
true
”。

<application>

元素拥有自己的
enabled
属性,
它适用于应用程序内的所有组件,包括 Activity 别名。
系统要能够用别名实例化目标 Activity ,
<application>

<activity-alias>
的这两个属性必须同时设为“
true
”。
只要其中有一个是“
false
”,别名就不会生效。

android:exported

其它应用程序的组件能否用别名来启动目标 Activity —“
true
”表示可以,“
false
”表示不可以。
如果设为“
false
”,则只有当前或用户ID相同的应用程序的组件才能通过别名来启动目标 Activity。

默认值取决于别名是否包含 Intent 过滤器。
不包含任何 Intent 过滤器意味着必须指定精确的别名名称才能启动 Activity 。
这表示别名仅供程序内部使用(因为其他程序不知道它的完整名称)— 这时默认值是“
false
”。
反之,只要有一个以上过滤器存在,就意味着别名可以被外部程序使用 — 这时的默认值是“
true
”。

android:icon

用别名访问目标 Activity 时,用户看到的图标。详情请参阅
<activity>

元素的
icon
属性。
android:label

用别名访问目标 Activity 时,用户看到的文本标签。详情请参阅
<activity>

元素的
label
属性。
android:name

用作别名的唯一名称。
该名称应该使用类似于类的完全限定名相的格式。
但与目标 Activity 的名称不同,别名可以任意指定;它不代表实际的类。
android:permission

通过别名启动目标 Activity 或让它执行工作的客户端所必须拥有的权限名称。如果
startActivity()

startActivityForResult()

的调用者没有被授权,则目标 Activity 不会被启动。

本属性将取代目标 Activity 本身的权限。
如果本属性未设置,表示不需要授权即能通过别名启动目标 Activity。

有关权限的详细信息,请参阅介绍一文中的
权限 章节。

android:targetActivity

可以用别名启动的 Activity。该名称必须与 manifest 文件中已定义的
<activity>

元素的
name
属性相一致。

引入自:API 级别 1参阅:
<activity>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: