(转)android manifest.xml中元素含义
转自http://blog.csdn.net/wbw1985/archive/2009/11/24/4862319.aspx
? 是否允许activity更换从属的任务,比如从短信息任务 切换到浏览器任务。
? --------------------------------------------------
? android:alwaysRetainTaskState
? 是否保留状态不变, 比如切换回home, 再从新打开, activity处于最后的状态
? --------------------------------------------------
? android:clearTaskOnLanunch
比如 P 是 activity, Q 是被P 触发的 activity, 然后返回Home, 从新启动 P, 是否显示 Q
--------------------------------------------------
android:configChanges
当配置list发生修改时, 是否调用 onConfigurationChanged() 方法? 比如 "locale|navigation|orientation".
--------------------------------------------------
activity 是否可以被实例化,
--------------------------------------------------
是否可被显示在最近打开的activity列表里
--------------------------------------------------
android:exported
是否允许activity被其它程序调用
--------------------------------------------------
android:finishOnTaskLaunch
是否关闭已打开的activity当用户重新启动这个任务的时候
--------------------------------------------------
android.icon
--------------------------------------------------
android:label
--------------------------------------------------
android:launchMode
activity启动方式,? "standard" "singleTop"? "singleTask" "singleInstance"? 其中前两个为一组, 后两个为一组
--------------------------------------------------
android:multiprocess
允许多进程
--------------------------------------------------
android:name
--------------------------------------------------
android:onHistory
是否需要移除这个activity当用户切换到其他屏幕时。 这个属性是 API level 3 中引入的
--------------------------------------------------
android:permission
--------------------------------------------------
android:process
一个activity运行时所在的进程名,所有程序组件运行在应用程序默认的进程中,这个进程名跟应用程序的包名一致。中的元素process属性能够为所有组件设定一个新的默认值。但是任何组件都可以覆盖这个默认值,允许你将你的程序放在多进程中运行。? 如果这个属性被分配的名字以:开头,当这个activity运行时, 一个新的专属于这个程序的进程将会被创建。 如果这个进程名以小写字母开头,这个activity将会运行在全局的进程中,被它的许可所提供。
--------------------------------------------------
activity显示的模式,? "unspecified" 默认值? "landscape" 风景画模式,宽度比高度大一些? "portrait" 肖像模式, 高度比宽度大。? "user" 用户的设置? "behind"? "sensor" "nosensor"
android:stateNotNeeded
--------------------------------------------------
activity的亲属关系, 默认情况同一个应用程序下的activity有相同的关系
android:theme
activity的样式主题, 如果没有设置,则activity的主题样式从属于应用程序, 参见元素的theme属性
--------------------------------------------------
activity主窗口与软键盘的交互模式, 自从API level 3 被引入
以下转自http://www.chinaup.org/docs/devel/bblocks-manifest.html
AndroidManifest.xml是每一个应用都需要的文件, 位于应用根目录下,它 描述了程序包的全局变量, 包括暴露的应用组件(activities, services等等)和为每个组件的实现类, 什么样的数据可以操作, 以及在什么地方运行。
这个文件的一个重要方面就是是其中的intent过滤器(intent filters)。 这些过滤器描述了何时何种情况下让活动(activity) 启动。 当一个activity(或是操作系统)想要执行一个动作, 例如打开一个Web页或是打开一个联系人选取屏幕,它将会创建一个Intent对象。 该对象包含了很多几个描述符(descriptors), 描述了你想做什么操作, 你想处理什么数据, 数据的类型, 以及一些其他的信息。 Android将Intent对象中的信息与所有应用暴露的intent过滤器比较, 找到一个最能恰当处理请求者要求的数据和动作(action)的activity。关于intents的更多信息在Intent页可以找到。
除了声明应用的活动(Activities),内容管理器( Content Providers),服务( Services), 和 Intent 接收器(Intent Receivers), 你也可以在AndroidManifest.xml文件中指定权限和instrumentation(安全控制和测试). 请查看AndroidManifest了解这个标签和他们的属性。
如下是一个简单的AndroidManifest.xml文件:
?需要注意的一些通用事项:
几乎所有的AndroidManifest.xml 文件(同其他的Android文件一样)都会在其第一个元素(element)中包含一个命名空间的声明xmlns:android="http://schemas.android.com/apk/res/android"?。 该声明使标准Android属性在该文件中可用,这些属性为文件中的xml元素提供了大部分数据。.
大多数的manifests包含一个<application>元素, 该元素定了这个程序包内所有应用层面上可用的组件和属性。
所有需要可以从应用程序启动器(program launcher)中呈现给用户的顶层应用都至少需要包括一个活动(Activity)组件,它用来支持MAIN?action 和显示在LAUNCHER?目录中。
下面列出了AndroidManifest.xml 这个文件详细的结构大纲, 描述了所有可用标签。
注意:?无论活动是外部可见还是仅在程序包内使用,在manifest中每一个活动必须在定义一个?<activity>标签。如果活动在manifest 中没有匹配的标签,那么你无法启动它。</activity>
此外,为了支持运行时活动查找,你可以包含一个或多个?<intent-filter>元素来描述该活动支持的动作(actions)。</intent-filter>
你也可把一个或多个meta-data 与你的活动(activity)关联,其它客户端(clients)可以取得这些meta-dada以获得关于这个活动的任意信息。