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-sdkandroid: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+/就可以随便选了   --><applicationandroid:allowBackup="true"android:icon="@drawable/ic_launcher"android:label="@string/app_name"android:theme="@style/AppTheme" >
        <!-- Activity配置 --><activityandroid: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,还有个前提是发送的文件得是它支持的,这里是什么都文件类型都支持)

转载于:https://www.cnblogs.com/wytings/p/4083463.html

关于androidManifest.xml的概叙以及intent-filter的详细分析相关推荐

  1. Android 基础 一 AndroidManifest.xml

    一.概述 AndroidManifest.xml是Android应用的入口文件,它描述了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的 ...

  2. Android学习笔记之AndroidManifest.xml文件解析

    为什么80%的码农都做不了架构师?>>>    一.关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件.它位于整 ...

  3. 【代码片段收集】Python解析AndroidManifest.xml

    写在前面的话 这个好像只适合我自己看,感觉有的代码片段复用率很高,总是反复需要用到.所以就整理一下,方便自己查找. # find the MainActivity and let the MainAc ...

  4. 用Python解析AndroidManifest.xml文件找MainActivity

    写在前面的话 这个是一篇水博客,因为我知道只要是个大二的小朋友就可以搞定,我大二就一天在搞这些事情,今天纯属吃饱了撑着,想敲键盘,等实验结果然后随便写写.我知道大家都会的,不会的小朋友随便看看然后自己 ...

  5. AndroidManifest.xml文件详解

    更多原文,请见:http://mobile.51cto.com/aprogram-340646.htm AndroidManifest.xml文件是Android系统重要的权限申请和定义配置文件,程序 ...

  6. AndroidManifest.xml配置详解

    2019独角兽企业重金招聘Python工程师标准>>> AndroidManifest.xml配置文件对于Android应用开发来说是非常重要的基础知识,本文旨在总结该配置文件中重点 ...

  7. AndroidManifest.xml配置文件详解

    AndroidManifest.xml配置文件详解 . AndroidManifest.xml配置文件对于Android应用开发来说是非常重要的基础知识,本文旨在总结该配置文件中重点的用法,以便日后查 ...

  8. Android之 AndroidManifest.xml 文件解析

    一.关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件.它位于整个项目的根目录,描述了package中暴露的组件(activiti ...

  9. Android之 AndroidManifest xml 文件解析

    一.关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件.它位于整个项目的根目录,描述了package中暴露的组件(activiti ...

最新文章

  1. 单片机c语言的按键程序,51单片机按键扫描C程序
  2. 如何通过域服务器推送安装文件,域环境推送exe程序并自动安装教程域环境推送exe程序并自动安装教程.pdf...
  3. javax.naming.NoInitialContextException: Need to specify class name in environment or system property
  4. .net安装部署中添加卸载程序简单方法
  5. 【C++】43.使用【类对象】与 【类指针】的区别
  6. java 文件下载漏洞,文件上传和下载漏洞
  7. 洛谷 P1506 拯救oibh总部-dfs染色法
  8. MinerConfig.java 爬取配置类
  9. 运行catia_CATIA清除错误目录及防串链接
  10. 区域转换为二值图像_零基础一文读懂AI深度学习图像识别
  11. 关于子元素连续数字和英文内容溢出父元素的问题
  12. 一文看懂深度学习新王者「AutoML」:是什么、怎么用、未来如何发展?
  13. 关于code footprint-reduction-techniques
  14. echarts绘制世界地图,中国地图在中间
  15. 亲测Trimble X7三维扫描仪
  16. Python tkinter(2)深入聊聊窗口
  17. android虚拟机共享文件夹在哪里打开,【已解决】Nox夜神安卓模拟器中/mnt/shared对应Mac的共享目录在哪里...
  18. 1.1快速创建spring boot
  19. 《卜算子·咏梅》 陆游
  20. 某课的flask视频 速取

热门文章

  1. 英语应用文写作之感谢信
  2. WP7开发—Silverlight多点触摸事件详解【含Demo代码】
  3. 装了java_下载安装Java
  4. 架构设计器_MySQL:数据库结构优化、高可用架构设计、数据库索引优化
  5. linux查看apache端口,linux系统下Apache服务启动时80端口报错
  6. 以太网实习_一位工科男在拿到华为实习生offer后的面经干货
  7. PBRT笔记(2)——BVH
  8. 笔记:前端与后台交互
  9. MongoDB入门学习(二):MongoDB的基本概念和数据类型
  10. ODAC(V9.5.15) 学习笔记(十七)主从模式