《Android笔记3.10》 Android 广播接收器 BroadcastReceiver

课程背景:
BroadcastReceiver 是Android 四大基本组件之一,用于接收广播信息,如:开屏、锁屏、短信等等,在实际工作中用途非常广泛

核心内容:
1. 动态注册和注销 BroadcastReceiver

使用 BroadcastReceiver

新建Brodercast Receiver文件:

在Receiver自动生成的onReceive方法中自定义接收到信息后的处理代码:

@Override
    public void onReceive(Context context, Intent intent) {

        System.out.println("接收到了消息,消息的内容是: "+intent.getStringExtra("data"));
    }

Aty中发送消息给Receiver,还可以在Intent中方便地传数据:

Intent i = new Intent(this, MyReceiver.class);
                i.putExtra("data", "lanyunwork");
                sendBroadcast(i);

动态注册和注销 BroadcastReceiver

先删去AndroidManifest.xml中自动配置的标签,

动态注册必须要用隐式Intent,为了方便可将MyReceiver的包名定义成常量:

然后在Activity中注册/注销

private MyReceiver receiver = null;

//注册——传隐式Intent
registerReceiver(receiver, new IntentFilter(MyReceiver.ACTION));
//注销
unregisterReceiver(receiver);
时间: 2024-10-12 23:39:26

《Android笔记3.10》 Android 广播接收器 BroadcastReceiver的相关文章

android四大组件之广播接收器BroadcastReceiver

Android有一个非常重要的特性,就是广播.也可以将广播看做是通信机制.  Android四大组件: Activity, service, broadcastReceiver 和contentProvider, 只有Activity和service有完整的生命周期, 其他 broadcastReceiver 和contentProvider 都没有.  broadcastReceiver 本质上是一个监听器, 负责监听系统应用发出的广播(BroadCast). broadcastReceive

Android应用程序注冊广播接收器(registerReceiver)的过程分析

前面我们介绍了Android系统的广播机制,从本质来说,它是一种消息订阅/公布机制,因此,使用这样的消息驱动模型的第一步便是订阅消息:而对Android应用程序来说,订阅消息事实上就是注冊广播接收器,本文将探讨Android应用程序是怎样注冊广播接收器以及把广播接收器注冊到哪里去的. 在Android的广播机制中,ActivityManagerService扮演着广播中心的角色,负责系统中全部广播的注冊和公布操作,因此,Android应用程序注冊广播接收器的过程就把是广播接收器注冊到Activi

Android笔记(五):Android中的Radio

原文地址:http://irving-wei.iteye.com/blog/1076097 上篇介绍了CheckBox,这节,将接触到的是RadioGroup和RadioButton. 它们的关系是:一个RadioGroup对应多个RadioButton,而一个RadioGroup中的RadioButton只能同时有一个被选中,它的选中值就是该RadioGroup的选中值. 这一节的代码运行效果图如下所示: 具体的代码编写过程如下: 首先在strings.xml中添加本程序所要用到的字符串: X

android在广播接收器BroadcastReceiver里面再进行发送广播,造成当前广播接收器不断循环执行问题

最近在公司处理项目时,用到锁屏状态弹出activity进行提示,类似QQ消息弹屏提示的功能.当中用到了,假如该弹出activity已经位于锁屏界面外时,将不进行再次弹窗,而是发送广播进行通知数据更新,但是在广播接收器里面的某个步骤进行了再次发送通知的操作,发现该广播接收器变成了一个死循环的执行.经过仔细检查,发现没有任何一处用错action.  最终将该广播接收器里面的发送广播语句注释,死循环不在.代码如下: 注:里面的所有action都经过仔细检查,使用均正确,没任何错误,或者引用错误. pa

(八)Android广播接收器BroadcastReceiver

一.使用Broadcast Reciver 1.右击java文件夹,new->other->Broadcast Receiver后会在AndroidManifest.xml文件中生成一个receiver项 <?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"

Android基础(4)——广播接收器

在Android中的每个应用程序可以对自己感兴趣的广播进行注册,这样该程序就只会接收自己所关心的广播内容,这些广播可能来自于系统的,也可能来自于其他应用程序的.Android提供了一整套完整的API,允许应用程序自由地发送和接收广播.发送广播就是借助之前了解过的Intent,接收广播则需要用到广播接收器(Broadcast Receiver).. 1.广播的类型 标准广播:Normal broadcast,是一种完全异步执行的广播,在广播发出之后,所有的广播接收器几乎都会在同一时刻接收到这条广播

扣丁学堂笔记第11天广播接收器、短信与闹钟服务

1.默认广播 MainActivity package com.example.broadcastreceivertest; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; public class MainActivity extends Activity { @Override protected void onCre

Android笔记(六十三) android中的动画——逐帧动画( frame-by-frame animation)

就好像演电影一样,播放实现准备好的图片,来实现动画效果. 逐帧动画需要用到AnimationDrawable类,该类主要用于创建一个逐帧动画,然后我们把这个动画设置为view的背景即可. android提供两种方法为AnimationDrawable添加帧:XML定义和JAVA代码创建. XML 因为动画帧的资源需要是一个Drawable对象,所以需要把它放到Drawable目录下.在<animation-list>使用<item>来添加一帧 anima.xml <?xml

Android笔记二十三.Android基于事件监听器处理机制

转载请表明出处:http://blog.csdn.net/u012637501(嵌入式_小J的天空) 一.Android的事件处理 Android事件处理包括两个部分:Android事件处理机制(基本)和Android消息传递机制(进阶).前者包含三种处理方式,即基于监听的事件处理.基于回调的事件处理.直接绑定到标签;后者包含两种处理方式,即Handler消息传递.异步任务处理. 1.Android的事件处理机制 (1)基于监听的事件处理方式 通常做法是为Android界面组件绑定特定的事件监听