`

Android的Intent机制

阅读更多

AndroidIntent机制

Android利用Intent建立对象连接和实现组件通讯,称为意图机制。

其核心设计思想:引入组件管理服务作为连接组件的管理者。该服务通过组件的配置信息了解系统中组件的功能和类别,帮助调用组件寻求符合其需求的实现组件,将调用者和实现者解耦。

  意图机制下,通讯的角色:

调用组件:连接请求发起者,期望其他组件帮助完成功能。通过Context.startActivity()Context.bindService()等函数发起对目标组件的连接请求。

实现组件:响应调用者请求完成任务。无需关注调用者是谁,只需按照请求者发送的Intent对象去执行相关功能即可。

组件管理服务:从调用者组件接受Intent对象,将该对象与应用管理服务收集到的组件Intent  Filter 对象进行比较,选出符合调用组件需求的实现组件,构造并调用实现组件对象。

应用管理服务是一个系统服务,运行在系统核心进程中的独立进程,通过IPC,与各个组件实现通信。

 

Intent对象作用:组件间信息传递的载体;定义了组件间的连接协议。

 

Intent对象构成:

ActionAction表达动作,是一个字符串,通过Intent.setAction()设定,还可以Intent.getAction()读取动作信息;Action命名同包名类似,以保持唯一性和可拓展性);

Data:通过Intent.setData()Intent.setDataAndType()设置。Data数据用字符串URI存取;

Type:通过Intent.setType()Intent.setDataAndType()设置。TypeMIME类型数据,可以使用通配符*来表示整个类别信息。

Intent对象中DataType互斥使用。因此有了Intent.setDataAndType()

Category:表示条件约束。一个Intent可以有多个CategoryIntent.addCategory()添加,多个Category是与关系。

Component:目标组件的类型信息。Intent.setComponent()利用类名设定,或Intent.setClass()利用类型对象设定。

Extra:是一个Bundle对象,以键值对存储数据,可对数据进行系列化和反序列化。

Flags:是一个整形数,对组件透明。

分享到:
评论

相关推荐

    Android Intent机制实例详解

    **Android Intent机制详解** Intent是Android系统中一个至关重要的组件,它是应用程序间以及应用程序内部组件(如Activity和服务Service)通信的主要桥梁。Intent不仅用于不同应用之间的交互,还用于在同一应用内的...

    Android Activity和Intent机制学习笔记

    ### Android Activity和Intent机制详解 #### 一、Activity机制概览 **1.1 定义及作用** 在Android开发中,Activity是最基本的应用组件之一,可以将其理解为用户界面的一个屏幕。它提供了用户与应用交互的主要场所...

    Android+Intent机制实例详解[文].pdf

    Android Intent机制是Android应用程序间通信和交互的核心方式,它允许不同组件之间,如Activity和Service,或者同一应用内的不同组件,进行数据传递和启动操作。Intent的概念源自英文“意图”,意味着通过Intent,...

    Android的Intent实验

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

    android intent 实例详解

    ### Android Intent 机制详解 #### 一、Intent 的基本概念 **Intent** 是 Android 四大应用组件(Activity、Service、Broadcast Receiver 和 Content Provider)之间通信的重要桥梁。它是一种消息对象,用来描述一...

    Android+Intent机制实例详解.rar

    总结,Intent机制是Android框架的核心部分,理解和熟练运用Intent对于开发高效、灵活的应用至关重要。无论是启动Activity、Service,还是进行组件间的通信,Intent都是不可或缺的桥梁。通过实例学习和实践,开发者...

    AndroidOpenIntents41_Android Intent开发包附源码下载 OpenIntents工具包.rar

    这个项目不仅包括了一系列实用的Intent,还附带了源码,为开发者提供了深入学习和理解Android Intent机制的宝贵资源。 Intent是Android系统中的核心组件之一,它是一种消息传递机制,用于在应用程序之间、组件之间...

    Android intent原理分析

    在移动开发领域,特别是在Android平台上,**Intent**作为核心通信机制之一,扮演着关键角色。它不仅用于应用程序内部不同组件之间的通信,也是实现跨应用通信的重要桥梁。本文旨在深度剖析Android中Intent的工作原理...

    android用于打开各种文件的intent.pdf

    Android 操作系统提供了 Intent 机制,允许应用程序之间进行交互和通信。Intent 是一个异步的消息机制,用于在应用程序之间请求或提供服务。通过使用 Intent,可以实现打开各种文件类型,例如 PDF、PPT、WORD、EXCEL...

    Android Intent切换.zip

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

    AndroidIntent机制实例详解(Activity篇)

    Android中提供了Intent机制来协助应用间的交互与通讯,或者采用更准确的说法 是,Intent不仅可用于应用程序之间,也可用于应用程序内部的Activity/Service之间的交互。 Intent这个英语单词的本意是“目的、意向”等...

    Android Intent Filter用法

    总结来说,Intent Filter是Android系统中组件间通信的关键机制,它决定了Intent如何被分发到相应的组件。通过合理配置Intent Filter,开发者可以实现灵活、安全的应用交互。学习并熟练掌握Intent Filter的用法,对于...

    android intent 使用总结

    Android Intent 是 Android 组件之间通讯的核心机制,它负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述。Android 则根据 Intent 的描述,找到对应的组件,将 Intent 传递给调用的组件,并完成组件的...

    android Intent传递对象数据

    在Android开发中,Intent是应用程序之间以及应用程序组件之间进行交互的一种重要方式。它用于启动新的Activity、Service或者向BroadcastReceiver发送消息。然而,Intent默认只能传递基本数据类型,如String、int等。...

    android用于打开各种文件的intent

    标题与描述中的关键词“android用于打开各种文件的intent”揭示了本文将探讨的主题:在Android平台上,如何使用Intent机制来启动应用程序以打开不同类型的文件。Intent是Android四大组件之一,它提供了一种方式来...

    Android利用Intent启动和关闭Activity

    【Android Intent 启动和关闭Activity】 在Android应用程序开发中,Intent是连接各个组件(如Activity、Service等)的关键桥梁,主要用于启动和关闭Activity。Intent不仅能够启动一个新的Activity,还能在Activity...

    Android中intent的使用

    在Android应用开发中,Intent是连接应用程序组件之间通信的关键机制,它用于启动其他组件或传递数据。本篇文章将深入探讨Intent的基本概念、类型、构造方法以及如何在Android中有效地使用Intent。 Intent是一种意图...

Global site tag (gtag.js) - Google Analytics