`

Android中Intent的深入解析

阅读更多
Android、Intent的深入解析
在Android软件环境中,应用程序是由一组Activities 组成的,而每一个Activity 不但是本应用的组成部分,而且也对外开放,可以向同一系统内任何一个外部应用提供服务。例如,编制手机短信无疑需要一个小型编辑器,这个编辑器在Android中由一个Activity 实现,并且可以以构件的形式暴露出来。如果开发者在开发另外一个应用程序的过程中需要一个小型编辑器,则无须重新开发,可直接调用短信应用中的这个编辑器Activity 得以实现。这种多层次的组合能力,与Web 2.0 基于XML的mash-up如出一辙。

Android 调用activity 所提供的接口(服务),并不是直接调用,而是借助一个叫做Intent 的机制实现的。所谓intent 就是对于服务的调用请求。与其他技术体系不同的是,Android可以无须明确地指定要那个组(activity)来满足自己的调用请求,而是可以要求系统根据它的要求,自动选择一个能够满足要求的activity 来提供所需的服务。

大致的过程如下:每一个activity 都可以对外提供一系列的服务,这些服务以Intent-filter 的形式对外公开,并提交给系统进行注册。所谓intent-filter,就是一个activity 的能力列表。例如,一个用于编辑短信正文的文本编辑器activity 应通过AndroidManifest.xml文件中的<intentfilter>元素向系统注册,表明activity具有EDIT 和VIEW文本数据的能力,如果有另一个客户要求EDIT和VIEW一段文本数据,则系统可以调用本activity 予以满足。Activity 本身既是提供服务的组件,也可以是组件的客户。

例如一个备忘录应用中,应用启动时可以显示一个现有备忘录的列表,这是由一个activity 实现的。而当用户选择编辑或新建一个备忘时,这个activity 需要一个文本编辑器activity 来完成这项工作。它怎么做呢?当然不需要自己从头开发一个,而只需要以intent 的方式告诉系统说:“我需要一个具有编辑文本能力的activity 来帮我编辑一个备忘信息”,系统会自动寻找在<intentfilter>中声称具有该项能力的activity,然后激活这个activity,用来满足这个intent。
分享到:
评论

相关推荐

    Android的Intent实验

    在Android开发中,Intent是一种非常重要的组件,它用于在应用程序的不同组件之间传递消息,实现活动(Activity)、服务(Service)、广播接收器(Broadcast Receiver)以及内容提供者(Content Provider)之间的交互...

    android各组件详解- Intent.

    ### 深入解析Intent #### ComponentName - Intent中的`ComponentName`属性可以显式指定目标组件的类名,当该属性设置时,系统将直接调用指定组件,忽略其他筛选条件。 #### Action - `Action`字段描述了待执行的...

    Android源码——Intent切换.zip

    本资料"Android源码——Intent切换.zip"很可能是关于Intent在Android应用开发中的详细解析,包括Intent的创建、使用方式以及源码分析。 首先,Intent分为显式Intent和隐式Intent两种类型。显式Intent明确指定了要...

    android各种文件的intent

    根据提供的文件信息,我们可以深入探讨如何在Android应用中创建不同类型的文件Intent,以便与其他应用程序共享或打开特定格式的文件。 ### 一、Android中的Intent机制简介 在Android开发中,`Intent`是一种消息...

    Android Intent切换.zip

    本资料"Android Intent切换.zip"包含了关于Intent使用的源码示例,通过解析其中的文件,我们可以深入理解Intent的工作机制。 首先,`源码说明.txt`可能包含对Intent使用的基本介绍和代码解释。通常,这种文本文件会...

    Android使用Intent和Intentfilter进行通信

    IntentFilter是Android系统用来筛选和解析Intent的重要工具。当发送一个隐式Intent时,系统会根据IntentFilter的配置来查找能够处理该Intent的组件。IntentFilter通常在AndroidManifest.xml文件中定义,包含了Action...

    Android之父深入解析Android--mayandong

    《Android之父深入解析Android--mayandong》这本书是由安卓系统的创始人所著,为我们揭示了Android操作系统的深层次原理和开发内幕。作为一名专业的IT行业人士,深入理解Android系统对于移动开发至关重要,尤其是...

    字节面试Android11.0最新Framework解析

    总的来说,《字节面试Android11.0最新Framework解析》这份资料将深入探讨这些关键组件在新版本中的变化和优化,帮助面试者和开发者了解如何在Android 11.0环境下更好地设计和优化应用程序,以适应最新的系统规范和...

    Android 官方SDK文档 Intent

    本文档将深入探讨Android官方SDK文档中关于`Intent`的详细信息及其用法。 #### Intent 类定义 `Intent`类是Android框架中的一个基础组件,它继承自`Object`类并实现了`Parcelable`与`Cloneable`接口。这意味着`...

    Android程序间Intent跳转分析

    在Android开发中,Intent是一个至关重要的组件,它用于在应用程序之间传递消息,实现不同组件间的交互,如Activity、Service、BroadcastReceiver以及ContentProvider之间的通信。本文将深入探讨Android程序间Intent...

    Android Framework精编内核解析

    《Android Framework精编内核解析》是一本深入探讨Android系统核心框架层的专著,它主要涵盖了Android系统架构的关键组成部分,旨在帮助读者理解和掌握Android应用开发背后的机制。在这个压缩包中,包含了一份名为...

    Android中的Intent对象完全解析

    以下是关于Intent对象的深入解析: 1. **Intent的作用**: Intent是一个动作的抽象描述,它作为参数传递,帮助完成Android组件间的通信。Intent主要有两个核心用途:启动Activity和Service。它就像是Android系统中...

    android intent 的生命周期讲解和历程

    本文将深入解析Intent的生命周期,并结合源码进行详细讲解。 首先,理解Intent的基本概念。Intent是一个消息对象,它封装了执行操作的信息,如启动一个Activity或者Service。Intent主要有两种类型:显式Intent和...

    Android应用源码之Intent_Intent.zip

    本资源包“Android应用源码之Intent_Intent.zip”应该包含了关于Intent使用的一些示例代码和解析,帮助开发者深入理解Intent的工作原理。 1. **Intent的类型** Intent主要有两种类型:显式Intent和隐式Intent。...

    Android官方文档Context&Intent页保存

    在Android应用开发中,`Context`和`Intent`是两个至关重要的概念,它们构成了Android系统的基础框架,并在组件间通信中扮演着核心角色。这里,我们深入探讨一下这两个类的功能和使用。 首先,`Context`可以理解为...

    安卓Android源码——Intent.rar

    在Android操作系统中,Intent是一种强大的组件间通信机制,它允许应用程序的不同部分之间传递消息和启动操作。本资源“安卓Android源码——Intent.rar”可能包含了Intent的详细源代码分析,帮助开发者深入理解Intent...

    android intent 页面跳转

    本文将深入探讨“Android Intent”在页面跳转和数据传递中的应用,结合“Chapter06_Intent_01”示例进行详细解析。 一、Intent的基本概念 Intent是一个消息对象,它表达了应用的意图,告诉系统想要执行的操作。...

    Android中的Intent

    Android系统使用Intent Resolver来解析Intent,根据Intent的元数据找到合适的组件。开发者可以通过`PackageManager.resolveActivity(Intent, int)`或`queryIntentActivities(Intent, int)`来模拟这个过程。 总之,...

    Android常用组件深入解析1

    【Android常用组件深入解析1】 在Android开发中,Activity是四大组件之一,它承载着用户界面和交互的核心功能。深入理解Activity的启动流程对于优化应用性能、解决内存泄漏等问题至关重要。本文将对Activity的启动...

Global site tag (gtag.js) - Google Analytics