以下为全部内容:
AndroidManifest.xml主要包含以下功能:
AndroidManifest.xml文件的结构、元素,以及元素的属性,可以在AndroidSDK文档中查看详细说明。而在看这些众多的元素以及元素的属性前,需要先了解一下这些元素在命名、结构等方面的规则:
下面结合cookie实例中的AndroidManifest.xml文件来说明一下,原XML文件如下:
- <?xmlversion=”1.0″encoding=”utf-8″?>
- <manifestxmlns:android=”http://schemas.android.com/apk/res/android”
- package=”moandroid.cookie”
- android:versionCode=”1″
- android:versionName=”1.0″>
- <applicationandroid:icon=”@drawable/icon”android:label=”@string/app_name”>
- <activityandroid:name=”.cookie”android:label=”@string/app_name”>
- <intent-filter>
- <actionandroid:name=”android.intent.action.MAIN”/>
- <categoryandroid:name=”android.intent.category.LAUNCHER”/>
- </intent-filter>
- </activity>
- </application>
- <uses-sdkandroid:minSdkVersion=”3″/>
- </manifest>
除了头部的XML信息说明外,首先是manifest项(也就是根节点),其属性包括:schemas URL地址、包名(moandroid.cookie),以及程序的版本说明。其次是manifest的子节点application,其属性包括:程序图标、程序名称。前面带有@表示引用资源,例如:@drawable/icon表示引用的是drawable资源中的icon,可以在其源工程的res/drawable中找到。然后就是application的子节点activity,其属性包括:activity的名称、activity的标签名,其子节点intent-filter则是对activity的说明。
而在intent-filter中,actionandroid:name=”android.intent.action.MAIN”和categoryandroid:name=”android.intent.category.LAUNCHER”用以说明程序启动时的入口activity是哪个。如果这两个属性值中分别含有MAIN和LAUNCHER,则说明它就是启动程序时的入口活动。uses-sdkandroid:minSdkVersion=”3″说明程序使用的Android SDK的最低版本,其中1表示Android1.0,2表示Android 1.1,而3则表示Android1.5。
如下所示,文中黑体标记的部分为应用程序权限申请内容:
- <?xmlversion="1.0"encoding="utf-8"?>
- <manifestxmlns:android="http://schemas.android.com/apk/res/android"
- package="cn.com.fetion.android"
- android:versionCode="1"
- android:versionName="1.0.0">
- <applicationandroid:icon="@drawable/icon"android:label="@string/app_name">
- <activityandroid:name=".welcomActivity"
- android:label="@string/app_name">
- <intent-filter>
- <actionandroid:name="android.intent.action.MAIN"/>
- <categoryandroid:name="android.intent.category.LAUNCHER"/>
- </intent-filter>
- </activity>
- </application>
- <uses-permissionandroid:name="android.permission.SEND_SMS"></uses-permission>
- </manifest>
如上述文件描述中加下划线的斜体部分,该文件的作用是说明该软件需要发送短信的功能。
Android定义了百余种permission,可供开发人员使用,具体详见网址。
在文件中,用户还可以自定义权限。permission就是自定义权限的声明,可以用来限制app中特殊组件,特性与app内部或者和其他app之间访问。写了一个引用自定义权限的例子,在安装app的时候,提示权限:
定义权限如下:
- <permissionandroid:label="”自定义权限”"
- android:description=”@string/test”
- android:name=”com.example.project.TEST”
- android:protectionLevel=”normal”
- android:icon=”@drawable/ic_launcher”>
声明的含义如下;