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

<activity-alias>详解

2014-03-19 18:22 686 查看

                                <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属性所指向的activity起一个别名,这个targetActivity必须和这个别名在同一个程序里,并且在manifest文件里这个targetActivity必须在这个别名之前声明,(其实这是肯定的,别名毕竟是别名),

这个别名会作为一个独立的Activity代表targetActivity,它可以有自己的一套intent filters,并且别名的intent filters决定了那个intent可以激活targetActivity并且系统应怎样看待这个别名Activity。举个例子:在这个别名在intent
filters里定义了“android.intent.action.MAIN”和“android.intent.category.LAUNCHER”,这样即使在target activity里没有定义这些标记,也可以正常启动

除了targetActivity属性外,其他的<activity-alias>属性是<activity>的子集,在这个子集里,不会将target Activity里的值带给别名,但是在这个子集之外的就可以应用到别名里了
5. 属性描述

android:enabled

这个属性用来设置是否可以被系统通过别名来创建target Activity实例,‘true’可以,“false”不可以,默认为可以<application>属性里有他自己的enabled属性,并且应用到所有的应用程序组件里,当然也包括别名,<application>和 <activity-alias>属性必须同时为“true”,不然系统就没法通过这个别名开创建一个实例

<
4000
strong>android:exported[/b]

这个属性用来设置是否可以被其他应用程序的组件启动target activity,“true”表示可以,“false”表示不可以,如果设置为“false”

android:icon

当通过别名呈现给用户target Activity ,使用这个属性来给target Activity一个图标

android:label

当通过别名呈现给用户target Activity ,设置这个属性提供一个可读的标签

android:name

给别名设置一个独一无二的名字,不像target Activity的名字,别名的名字应该是随意的,他并不对应一个实际类

android:permission

设置权限的名称,客户端必须拥有这个权限才可以启动target Activity或通过别名来做一些事,如果一个startActivity()或startActivityForResult()调用没有得到这个权限,那么这个target Activity将不会启动

这个属性会覆盖target Activity里的任何权限,如果没有被设置,那将不需任何的权限就可以激活target Activity

android:targetActivity

设置可以被这个别名激活的target Activity,这个名字一定要匹配<activity>元素里的name属性
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息