Android开发之广播机制浅析

对于了解Android程序设计的人都知道,广播是Android开发中的一个重要的功能,在Android里面有各式各样的广播,比如:电池的状态变化、信号的强弱状态、电话的接听和短信的接收等等,今天本文就来给大家简单介绍一下系统发送、监听这些广播的机制。

Android中的广播机制基本如下图所示:

那广播在Android程序中到底是如何运行的呢?下面将以代码的形式给大家好好分析一下:

一、发送广播

Intent是Activity中发送广播的桥梁,通过他我们可以轻松的将广播发送到系统中,具体的实现如下:

final String Intent_Action = "com.android.BroadcastReceiverDemo";//定义广播,方便我们接收这个广播 Intent intent = new Intent(Intent_Action); intent.putExtra("name", "小米"); Activityone.this.sendBroadcast(intent);

可能你会疑惑Intent_Action的用处,因为Android内部存在大量的广播,我们通过Intent_Action可以唯一的接收这条广播。

二、接收广播

接收广播时我们需要定义一个BroadcastReceiver的子类,来接收我们发出的广播,通过重写BroadcastReceiver的onReceive()方法来对接到的广播做出响应。 

public class MyBroadcastReceiver extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub String name = intent.getStringExtra("name");//获得广播发出者传递的值 Toast.makeText(context, name, Toast.LENGTH_SHORT).show(); }

三、配置广播

具体配置文件部分代码如下:

<receiver android:name="cn.edu.hpu.android.activity_broadcast.MyBroadcastReceiver" android:enabled="true" > <intent-filter > <action android:name="com.android.BroadcastReceiverDemo" /> </intent-filter> </receiver>

在这里一定要保证android:name="com.android.BroadcastReceiverDemo",高亮的内容和我们在发送广播时设置Intent_Action的内容一致。

希望本文示例对大家的Android程序设计有所帮助。

时间: 2024-10-25 15:58:02

Android开发之广播机制浅析的相关文章

Android开发:内存机制分析——堆和栈

  1.dalvik的Heap和Stack 这里说的只是dalvik java部分的内存,实际上除了dalvik部分,还有native.这个以后再说. 开发:内存机制分析--堆和栈-"> 下面针对上面列出的数据类型进行说明,只有了解了我们申请的数据在哪里,才能更好掌控我们自己的程序. 2.对象实例数据 实际上是保存对象实例的属性,属性的类型和对象本身的类型标记等,但是不保存实例的方法.实例的方法是属于数据指令,是保存在Stack里面,也就是上面表格里面的类方法. 对象实例在Heap中分配好

Android开发:消息机制简述

  前几天,和同事探讨了一下Android中的消息机制,探究了消息的发送和接收过程以及与线程之间的关系.虽然我们经常使用这些基础的东西,但对于其内部原理的了解,能使我们更加容易.合理地架构系统,并避免一些低级错误. Android中的Handler, Looper, MessageQueue和Thread,对于这部分的内容,将分成4小节来描述: 1.职责与关系 2.消息循环 3.线程与更新 4.几点小结 一. 接下来,我们开始这部分的内容,首先了解一下各自的职责及相互之间的关系. 职责 Mess

Android开发22——广播接收者BroadcastReceiver的原理和注册方式

一.广播机制的基本概念 当某个事件产生时(如一条短信发来或一个电话打来),android操作系统会把这个事件广播给所有注册的广播接收者,需要处理这个事件的广播接收者进行处理.其实这就是日常生活中的广播.发生一个新闻后,广播电台会广播这个新闻给打开收音机的人,对这个新闻感兴趣的人会关注,可能会拿笔记下.新闻就是事件,广播电台就是android系统,打开收音机的人就是广播接收者,感兴趣的人就是需要处理该事件的广播接收者,拿笔记下就是对该事件进行的操作.   二.广播的分类--普通广播和有序广播 ①普

android 开发从入门到精通

Android-Tips This is an awesome list of tips for android. If you are a beginner, this list will be the first choice for you when you have a difficult time. Welcome Star and Fork, your support is my greatest affirmation. 学习 Android 至今,大大小小的坑没少踩过,庆幸的是,

Android中的广播(BroadCast)详细介绍

什么是广播 在Android中,Broadcast是一种广泛运用的在应用程序之间传输信息的机制.我们拿广播电台来做个比方.我们平常使用收音机收音是这样的:许许多多不同的广播电台通过特定的频率来发送他们的内容,而我们用户只需要将频率调成和广播电台的一样就可以收听他们的内容了.Android中的广播机制就和这个差不多的道理. 电台发送的内容是语音,而在Android中我们要发送的广播内容是一个Intent.这个Intent中可以携带我们要传送的数据. 电台通过大功率的发射器发送内容,而在Androi

Android广播机制

一.Android广播机制介绍 广播机制最大的特点就是发送方并不关心接收方是否接到数据,也不关心接收方是如何处理数据的. Android中广播的是操作系统中产生的各种各样的事件.例如,收到一条短信就会产生一个收到短信息的事件.而Android操作系统一旦内部产生了这些事件,就会向所有的广播接收器对象来广播这些事件. BraodcastReceiver(广播接收器)是为了实现系统广播而提供的一种组件,并且广播事件处理机制是系统级别的.比如,我们可以发出一种广播来测试是否收到短信,这时候就可以定义一

Android BroadcastReceiver广播机制概述_Android

Android广播机制概述Android广播分为两个方面:广播发送者和广播接收者,通常情况下,BroadcastReceiver指的就是广播接收者(广播接收器).广播作为Android组件间的通信方式,可以使用的场景如下: 1.同一app内部的同一组件内的消息通信(单个或多个线程之间): 2.同一app内部的不同组件之间的消息通信(单个进程):  3.同一app具有多个进程的不同组件之间的消息通信:  4.不同app之间的组件之间消息通信:  5.Android系统在特定情况下与App之间的消息

android 广播机制,短信电话 拦截

问题描述 android 广播机制,短信电话 拦截 我需要做的是一个安卓小项目,广播机制实现对短信.电话 的拦截,电话短信 均为sqlite数据库的两张表 ,求大神指定? 解决方案 android 关于特定短信电话拦截android短信和广播机制android--广播及短信拦截 解决方案二: 电话 contacts2.db 短信 mmssms.db 解决方案三: http://blog.sina.com.cn/s/blog_a28e3dd901018wky.html

《Android开发进阶:从小工到专家》——第1章,第1.3节Broadcast(广播)

1.3 Broadcast(广播)Broadcast是一种广泛运用的.在应用程序之间传输信息的机制,Android中的广播与传统意义上的电台广播类似,一个广播可以有任意个接收者.广播机制是一个典型的发布-订阅模式,也就是我们所说的观察者模式.广播机制最大的特点就是发送方并不关心接收方是否接到数据,也不关心接收方是如何处理数据的,通过这样的形式来达到接.收双方的完全解耦合. Android广播机制包含 3 个基本要素,分别是用于发送广播的Broadcast.接收广播的BroadcastReceiv