Intent和Broadcast
11.1Intent
Intent是一次即将执行操作的抽象描述。实现策略有3种:
通过startActivity()启动Intent;
通过Broadcast Intent将一个Intent发给任何对这个Intent感兴趣的BroadcastReceiver;
通过startService(Intent)或bindService(Intent, ServiceConnection, int)和后台的Service交互。
第一种方式
Intent最常用的用途是链接一个应用中各个Activity
启动特定的Activity:
Intent intent= new Intent(A.this, B.class);
startActivity(intent);
启动未定的Activity:
不关心启动哪个Activity,只将启动的Activity的描述信息放到Intent中,让系统寻找合适的Activity来启动。
Intent intent= new Intent(Intent.参数,”描述信息”);
startActivity(intent);
处理Activity的返回值
StartActivityForResult()启动一个Activity,新的Activity执行完毕后(setResult(),finish()),原Activity执行回调函数onActivityResult(),系统自动调用该方法。
一个Intent里边包含的内容有:
对执行动作的描述Action;
动作相关的数据Data;
数据类型type;
执行动作附加信息的描述:类别category;
附加信息的描述:extras
目标组件的描述:component
系统自定义的Action常见的有:ACTION_MAIN(标记为应用程序的入口)、ACTION_VIEW(显示给用户)、ACTION_DIAL(打电话)、ACTION_PICK(数据选择)、ACTION_EDIT(编辑数据)、ACTION_DELETE(删除数据)。
Android用指向数据的URL来表示数据data。
11.2Broadcast
Intent还可以作为不同进程间传递数据的媒介。
广播Broadcast方法:
New Intent后,设置sendBroadcast(intent);
BroadcastReceiver来接受广播的Intent,需要设置Intent Filter制定对哪些Intent监听。
需要继承BroadcastReceiver,实现onReceive接口。
注册的BroadcastReceiver并非一直在后台运行,而是事件或相关的Intent来临时才被系统调用。
BroadcastReceiver的注册:
1.在AndroidManifest.xml中进行轻量级注册。
<receiver android:name=”类名”>
<intent-filter>
<action android:name=”接受谁的广播Intent的绝对路径名”>
</intent-filter>
</receiver>
2.在代码中注册
New好BroadcastReceiver和Intent Filter后,调用registerReceiver()实现。
unRegisterReceiver()注销注册的BroadcastReceiver
相关推荐
【Android学习笔记详解】 在移动应用开发领域,Android操作系统占据着重要的地位,为开发者提供了丰富的平台和无限的可能性。"Android很好的学习笔记"是一份专为初学者设计的资源,旨在帮助那些想要踏入Android开发...
这个“很好的android学习笔记”包含了作者在学习Android开发过程中积累的宝贵经验,旨在帮助初学者或有一定基础的学习者更好地理解和掌握Android开发的核心概念和技术。 一、Android系统架构 Android系统的层次结构...
Android学习笔记是一个全面涵盖Android应用开发的资源集合,旨在帮助初学者和有经验的开发者深入理解和掌握Android平台的各个方面。这个压缩包可能包含了详细的教程、示例代码、项目实践以及相关的学习指南,以促进...
"Android学习笔记"是一个集合了从网络上收集并整理的学习资料,旨在帮助开发者或者对Android有兴趣的人深入理解和掌握这个平台。 Android开发教程通常涵盖以下几个核心知识点: 1. **环境配置**:开始Android开发...
在这个“Android学习笔记–Activity中使用Intent传值示例代码”的主题中,我们将深入理解Intent的工作原理以及如何在不同Activity之间传递数据。 首先,Intent是一个对象,它描述了一次操作的意图,包括操作类型...
在Android学习笔记中,作者分享了自己深入学习Android开发的过程,旨在帮助初学者构建系统性的学习路径,并通过实践提升技能。Android是一种广泛应用于移动设备的操作系统,由Google主导开发,支持丰富的应用程序...
笔记包含了大量的实例代码、技术解析和实战经验,对于想要深入学习Android开发的程序员来说,是一份宝贵的资源。 一、Android系统架构 Android系统由五大部分组成:Linux内核、硬件抽象层(HAL)、库、应用程序框架...
【Android学习笔记】是针对Android开发者的详尽学习资源,涵盖了Android开发的基础到高级概念,旨在帮助初学者和有经验的开发者深入理解Android操作系统的工作原理和应用开发技术。以下是一些核心知识点的概述: 1....
【Android 学习笔记】 Android 是一款开源的操作系统,主要用于移动设备,如智能手机和平板电脑。它是Google主导的开放手机联盟开发的,以其开放性和可定制性吸引了大量的开发者和用户。学习Android开发对于想要...
【Android应用开发学习笔记】 Android应用开发是移动设备软件开发的重要组成部分,主要涉及四大组件、UI设计以及系统交互。本文将深入探讨这些关键知识点。 **一、Android四大组件** 1. **Activity(活动)** - ...
BroadcastReceiver是Android四大组件之一,它是应用程序接收系统或其它应用广播事件的重要机制。BroadcastReceiver作为一个全局监听器,即使目标程序没有运行,也能接收到广播并作出响应,这大大增强了应用程序的...
【Android开发教程笔记完全版】是一份全面的Android开发学习资料,旨在帮助新手小白和有一定经验的程序员深入理解和掌握Android应用开发技术。这份资源包含了从基础到进阶的多个层次的知识点,对于想要踏入Android...
### Android高级编程学习笔记 #### 1. Android安全性 Android安全性是高级开发中非常重要的一环。安全性主要由底层的Linux内核提供,并且涉及到应用程序之间的数据隔离与通信控制。 ##### 1.1 Linux内核安全 每...
这个“Android系统知识总结+培训课程+笔记”包含了一系列深入学习Android开发的重要资料,涵盖了从基础到高级的各种主题,适合Android开发者或者对Android系统有兴趣的学习者使用。这份资料可能与在青岛巴黎春天广场...
Android 消息应用(Messaging)源码学习笔记 在 Android 操作系统中,应用程序(APK)是由多个组件构成的,包括 Activity、Service、Receiver 和 ContentProvider。其中,AndroidManifest.xml 文件是 APK 的打包...
【Android程序开发学习笔记(手电筒软件设计)】 Android是一种开放源代码的移动操作系统,由Google领导的Open Handset Alliance开发,旨在提供一个统一且先进的移动设备平台。它的历史可以追溯到2008年,当时首款...
这份"Android开发教程笔记完全版"的压缩包文件包含了全面的学习资料,对于初学者和有一定经验的开发者来说,都是宝贵的资源。下面我们将深入探讨其中可能涵盖的知识点。 1. **Android系统架构**:Android系统分为...