转自:http://www.cnblogs.com/wytings/p/4083463.html
AndroidManifest.xml配置文件对于Android应用开发来说是比较细但又很重要的基础知识,本文旨在总结该配置文件中常用到的几个属性,以便日后查阅,至于那些比较细的属性,主要是平时开发比较少用便不列举,如果自己有需要直接在eclipse中直接“alt+/”就好了……
下面是一个比较通用的AndroidManifest.xml文件样例(所建的工程目录是Test),
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.test"
android:versionCode="1"
android:versionName="1.0" >
<!-- SDK版本的要求 -->
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="21" />
<!-- 获取系统相关的权限配置 如果不知道系统有多少属性,不用那么麻烦去搜,直接在name便签的双引号里alt+/就好,多直接~ -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<!-- 应用配置细节
icon是图标;
label是程序名称显示在titlebar中的
theme是整个程序的主题,这里是自己文件定义的主题,如果想用android的就是@android:style/Theme再加alt+/就可以随便选了
-->
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<!-- Activity配置 -->
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<data android:host="MainActivity"/>
</intent-filter>
</activity>
<!-- Service配置 -->
<service >
<intent-filter >
<action />
<category />
<data />
</intent-filter>
</service>
<!-- Receive配置 -->
<receiver >
<intent-filter />
<meta-data />
</receiver>
<!-- Provider配置 -->
<provider >
<grant-uri-permission />
<meta-data />
<path-permission />
</provider>
<!-- 程序需要的外部库 -->
<uses-library />
</application>
</manifest>
纵观上面的各个系统组件配置,基本都有一个Intent-filter属性,来对系统中各种乱七八糟的intent进行过滤处理。因为android系统中会时时刻刻发送着各种消息各种intent,有些是系统发的有些是各个程序发的,怎么从那么多的消息中获取自己想要的?那就过滤,Intent-filter就是起这个作用。下面我们来详细问题一下这个Intent-filter的相关属性,虽然各个组件的Intent-filter有差别,但是了解大概后,基本都差不多,举一反三,触类旁通嘛。
Intent消息还包含有名称、动作、数据、类别几个重要属性,同时这几个点因过滤的标签的不同而有一些差别。
<action>标签用于描述具体消息的名称;
<category>标签用于表示能处理消息组件的类别;
<data>标签则用于描述消息需要处理的数据格式,支持使用正则表达式来限定数据来源;
例如以下是一个activity的intent-filter:
<intent-filter>
<action android:name="wytings msg" />
<category android:name="android.intent.category.DEFAULT" />
<data mimeType="*/*" />
</intent-filter>
只要系统中有程序发出的intent的action为wytings msg这个activity就可以收到。
category设置的是默认配置,一般category主要就是android.intent.category.DEFAULT和android.intent.category.LAUNCHER两个(前者是默认配置,看action怎么设置,就怎么启动,后者是代表的第一个启动的基本都得和<action android:name="android.intent.action.MAIN" />一起用),其他的看自己需求,要是还是不知道还是alt+/就好了。
data中设置了处理类型,意思就是消息我收到了,如果不是我处理的类型,我依然不干活。比如我们把上面的action设置为android.intent.action.SEND(意思是当我们点发送的时候,系统就会调用这个activity,还有个前提是发送的文件得是它支持的,这里是什么都文件类型都支持)
相关推荐
一、关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件。它位于整个项目的根目录,描述了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的数据和...
#### 一、关于 AndroidManifest.xml `AndroidManifest.xml` 是 Android 应用程序中不可或缺的一部分,通常位于项目的根目录下。该文件定义了应用程序的架构和元数据,包括应用程序的基本信息(如包名、版本号等)、...
### AndroidManifest.xml 文件详解 #### 一、概述 `AndroidManifest.xml` 是每个 Android 应用项目中的核心配置文件,位于项目的根目录下。该文件主要用于描述应用的基本信息及其内部组件,例如 Activity、Service...
在AndroidManifest.xml中,intent-filter用于定义组件可以响应的Intent类型。例如,一个能接收HTTP链接的Activity可能会有如下intent-filter: ```xml <activity android:name=".WebActivity"> <intent-filter> ...
### AndroidManifest.xml 文件解析知识点 #### 一、概述 `AndroidManifest.xml` 是 Android 应用的核心配置文件,它位于应用项目的根目录下。该文件主要用于描述应用的基本信息及其组件,比如 Activity、Service、...
AndroidManifest.xml文件是Android应用程序的核心配置文件,它决定了应用程序的基本信息、组件信息、权限信息、Intent FILTER信息等。理解AndroidManifest.xml文件是 Android开发者必须掌握的基础知识。只有深入了解...
为了深入理解这个应用如何配置Intent-filter以实现上述功能,我们需要查看这些源代码,尤其是对应的Activity和AndroidManifest.xml文件。 总之,通过合理配置Intent-filter中的`data`和`type`属性,开发者可以确保...
AndroidManifest.xml 文件解析 AndroidManifest.xml 文件是每个 Android 程序中必须的文件,位于整个项目的根目录,描述了 package 中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的...
在Android应用开发中,`AndroidManifest.xml`是应用程序的核心配置文件,它定义了应用的组件、权限、所需库以及与其他应用交互的方式。本教程将深入探讨`AndroidManifest.xml`的最新解析方法,针对使用`AXMLPrinter-...
AndroidManifest.xml是Android应用的核心配置文件,它包含了应用程序的全局信息,是每个Android程序必不可少的部分。这个文件主要负责声明应用中的组件(如Activities、Services、Broadcast Receivers和Content ...
《AndroidManifest.xml文件综合详解》 AndroidManifest.xml文件是Android应用程序的核心组成部分,它包含了应用程序的全局配置信息,是每个Android应用不可或缺的文件。这个文件的作用在于向Android系统提供应用...
`Intent Filter` 是 `Activity` 或 `BroadcastReceiver` 在清单文件(AndroidManifest.xml)中定义的一种机制,用于声明它们愿意处理的 `Intent` 类型。 1. **定义Intent Filter** 在 `AndroidManifest.xml` 文件...
2. 声明 Intent Filter:在 AndroidManifest.xml 文件中,使用 <intent-filter> 元素声明 Intent Filter,指定该 Intent 的 Action、Category 和 Data 等信息。 3. 在 Activity 中注册 Intent Filter:在 Activity ...
- 在AndroidManifest.xml中,每个组件都可以定义一个或多个Intent-filter,用来声明该组件能处理哪些类型的Intent。 - 每个Intent-filter包含Action、Data和Category等元素。 2. Intent-filter匹配规则: - 一个...