`
熊滔爱孟涛静
  • 浏览: 125444 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Android AndroidManifest

阅读更多

AndroidManifest.xml是每个android程序中必须的文件。它位于application的根目录,描述了package中的全局数据,包括了package中暴露的组件(activities, services, 等等),它们各自的实现类,各种能被处理的数据和启动位置。

此文件一个重要的地方就是它所包含的intent-filters。这些filters描述了activity启动的位置和时间。每当一个activity(或者操作系统)要执行一个操作,例如:打开网页或联系簿时,它创建出一个intent的对象。它能承载一些信息描述了你想做什么,你想处理什么数据,数据的类型,和一些其他信息。Android比较了intent对象中和每个application所暴露的intent-filter中的信息,来找到最合适的activity来处理调用者所指定的数据和操作。

    除了能声明你程序中的Activities, Content Providers, Services, Intent Receivers,你还能指定permissionsinstrumentation(安全控制和测试)在AndroidManifest.xml文件中。

    这是一个简单的AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

        package="com.my_domain.app.helloactivity">

 

    <application android:label="@string/app_name">

 

        <activity class=".HelloActivity">

            <intent-filter>

                <action android:value="android.intent.action.MAIN"/>

                <category android:value="android.intent.category.LAUNCHER"/>

            </intent-filter>

        </activity>

 

    </application>

 

</manifest>

值得一提一些常用之处:

· 几乎所有的AndroidManifest.xml(以及许多其他Androidxml的文件)在第一个元素中包含了命名空间的声明xmlns:android="http://schemas.android.com/apk/res/android"。这样使得Android中各种标准属性能在文件中使用,提供了大部分元素中的数据。

· 大部分manifests包含了单个<application>的元素,它定义了所有的application级别组件和属性,并能在package中使用。

· 任何被用户看作顶层应用程序,并能被程序启动器所用的package,需要包含至少一个Activity组件来支持MAIN操作和LAUNCHER种类,如上述代码中所见。

这里是AndroidManifest.xml文件结构的一个详细的列表,描述了所有能被使用的标记。

manifest

    根节点,描述了package中所有的内容。在它之下能放置:

    uses-permission

        请求你的package正常运作所需赋予的安全许可。见SecurityModel来获得许可的更多的信息。一个manifest能包含零个或更多此元素。

    permission

        声明了安全许可来限制哪些程序能你package中的组件和功能。见SecurityModel来获得许可的更多的信息。一个manifest能包含零个或更多此元素。

    instrumentation

        声明了用来测试此package或其他package指令组件的代码。见Instrumentation来获得许可的更多的信息。一个manifest能包含零个或更多此元素。

    application

        包含packageapplication级别组件声明的根节点。此元素也可包含application中全局和默认的属性,如标签,icon,主题,必要的权限,等等。一个manifest能包含零个或一个此元素(不允许多余一个)。在它之下能放置零个或更多下列组件声明:

        activity

            Activity是用来与用户交互的主要工具。当用户打开一个应用程序的初始页面时一个activity,大部分被使用到的其他页面也由不同的activity所实现并声明在另外的activity标记中。

            注意:每一个activity必须要一个<activity>标记对应,无论它给外部使用或是只用于自己的package中。如果一个activity没有对应的标记,你将不能运行它。

            另外,为了支持运行时迟查找你的activity,你能包含一个或多个<intent-filter>元素来描述你activity所支持的操作:

 

            intent-filter

                声明了指定的一组组件支持的Intent值,从而形成了IntentFilter。除了能在此元素下指定不同类型的值,属性也能放在这里来描述一个操作所需的唯一的标签,icon和其它信息。

                action

                    组件支持的Intentaction。

                category

                    组件支持的IntentCategory.

                type

                    组件支持的Intentdata MIME type.

                schema

                    组件支持的Intentdata URI scheme.

                authority

                    组件支持的Intentdata URI authority.

                path

                    组件支持的Intentdata URI path.

        receiver

            IntentReceiver能使的application获得数据的改变或者发生的操作,即使它当前不在运行。利用activity标记,你能选择地包含一个或多个receiver所支持的<intent-filter>元素;

        service

            Service是能在后台运行任意时间的组件。利用activity标记,你能选择地包含一个或多个receiver所支持的<intent-filter>元素;

        provider

            ContentProvider是用来管理持久化数据并发布给其他应用程序使用的组件。

 

分享到:
评论

相关推荐

    Android AndroidManifest 清单文件所有权限详解.doc

    在Android应用开发中,`AndroidManifest.xml`文件是至关重要的,它是每个应用的基石,包含了应用的基本信息和权限设置。本文将深入解析`AndroidManifest.xml`文件中的各种权限,以便开发者更好地理解和管理应用的...

    有关android Androidmanifest文件中的数据提供描述

    在深入探讨AndroidManifest.xml文件中的数据提供描述时,我们首先需要理解这个文件在Android应用程序开发中的核心作用。AndroidManifest.xml是每一个Android应用项目中的必备文件,它定义了应用的组件(如Activity、...

    反编译AndroidManifest等xml文件

    在Android应用开发中,XML文件扮演着至关重要的角色。AndroidManifest.xml是应用程序的配置文件,它定义了应用的基本属性、所需的权限、活动(Activity)、服务(Service)以及其他组件。而布局文件(layout.xml)则...

    二进制AndroidManifest.xml修改神器~

    在Android应用开发中,`AndroidManifest.xml`是一个至关重要的文件,它定义了应用程序的基本属性、权限、组件(如Activity、Service、BroadcastReceiver和ContentProvider)以及它们之间的关系。本资源,"二进制...

    Android APK xml 批量解密工具

    android开发中有时会想研究借鉴一下设计思路和UI风格,但解压apk包后 layout文件夹下xml文件一般都是加密的。在网上找到了一个工具,可以完美地解密xml文件,但这个工具的使用方法是:调cmd 然后...

    Android教程之AndroidManifest.xml

    `AndroidManifest.xml` 是 Android 应用程序中不可或缺的一部分,它负责定义应用的基本信息以及应用程序组件的行为。本文将深入探讨 `AndroidManifest.xml` 的各个方面,包括其结构、各标签的作用与用途。 #### 二...

    Qt for Android 启动页 splash 延时显示

    网上有很多介绍都是关于 Android 原生开发上关于启动页的配置说明,大体思路都是自己创建一个启动页面,然后定定时器延时显示,几乎很少看到用 Qt 开发Android如何配置,对于一个并不太熟悉 Android原生开发者以及刚...

    Android 报错:Entry name ‘AndroidManifest.xml’ collided

    Android 报错:Entry name ‘AndroidManifest.xml’ collided前言解决方法1、直接退回3.5.32、排除打包文件3、使用旧打包工具4、最终解决方法完事 前言 这两天 Android studio 更新了 3.6 版本,天天在右下角提示 ...

    Android中AndroidManifest清单文件以及权限详解

    Android中AndroidManifest清单文件以及权限详解,介绍android开发中用到的权限

    Android教程之AndroidManifest.xml文件详细介绍及用法解析

    Android教程之AndroidManifest.xml文件 详细介绍及用法解析

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

    `AndroidManifest.xml` 是 Android 应用的核心配置文件,它位于应用项目的根目录下。该文件主要用于描述应用的基本信息及其组件,比如 Activity、Service、BroadcastReceiver 和 ContentProvider 等。此外,`...

    获取AndroidManifest里的信息

    在Android开发中,AndroidManifest.xml文件是每个应用的核心配置文件,它包含了应用程序的基本信息、权限声明、组件声明等重要元素。这篇博客“获取AndroidManifest里的信息”主要探讨了如何从这个XML文件中提取数据...

    androidmanifest.xml文件详解

    `AndroidManifest.xml` 是每个 Android 应用项目中的核心配置文件,位于项目的根目录下。该文件主要用于描述应用的基本信息及其内部组件,例如 Activity、Service、BroadcastReceiver 和 ContentProvider 等,并且还...

    Android-Android取得未安装的APK的名字Manifest配置文件里的label名字

    总结来说,要获取未安装APK在启动器中的显示名称,即Manifest配置文件中的`android:label`属性,开发者需要手动解析APK文件中的AndroidManifest.xml,提取并处理相应的标签值。这个过程涉及到文件读取、XML解析等多...

    AndroidManifest.rar

    在Android应用开发中,`AndroidManifest.xml`文件是至关重要的组成部分,它扮演着应用程序的配置中心的角色。这个文件包含了应用程序的元数据,如活动(Activities)、服务(Services)、广播接收器(Broadcast ...

    AndroidManifest.xml文件详解

    `AndroidManifest.xml` 是 Android 应用程序中不可或缺的一部分,通常位于项目的根目录下。该文件定义了应用程序的架构和元数据,包括应用程序的基本信息(如包名、版本号等)、组件(如 Activity、Service、...

    Android 获取 usb 权限的两种方法

    一、直接在AndroidManifest.xml文件中进行如下配置: &lt;activity android:name=.DemoCustomAndroidUSBActivity android:label=@string/app_name&gt; &lt;action android:name=android.intent.action.MAIN&gt; &lt;...

Global site tag (gtag.js) - Google Analytics