`

Android BroadcastReceiver 简介

阅读更多

Android BroadcastReceiver 简介
在 Android 中使用 Activity, Service, Broadcast, BroadcastReceiver
   活动(Activity) - 用于表现功能 
   服务(Service) - 相当于后台运行的 Activity
   广播(Broadcast) - 用于发送广播 
   广播接收器(BroadcastReceiver) - 用于接收广播
   Intent - 用于连接以上各个组件,并在其间传递消息

BroadcastReceiver
    在Android中,Broadcast是一种广泛运用的在应用程序之间传输信息的机制。而BroadcastReceiver是对发送出来的 Broadcast进行过滤接受并响应的一类组件。下面将详细的阐述如何发送Broadcast和使用BroadcastReceiver过

滤接收的过程:
    首先在需要发送信息的地方,把要发送的信息和用于过滤的信息(如Action、Category)装入一个Intent对象,然后通过调用 Context.sendBroadcast()、sendOrderBroadcast()或sendStickyBroadcast()方法,把 Intent对象以广播方式发送出去。
    当Intent发送以后,所有已经注册的BroadcastReceiver会检查注册时的IntentFilter是否与发送的Intent相匹配,若 匹配则就会调用BroadcastReceiver的onReceive()方法。所以当我们定义一个BroadcastReceiver的时候,都需要 实现onReceive()方法。



注册BroadcastReceiver有两种方式:
    一种方式是,静态的在AndroidManifest.xml中用<receiver>标签生命注册,并在标签内用<intent- filter>标签设置过滤器。

    另一种方式是,动态的在代码中先定义并设置好一个 IntentFilter对象,然后在需要注册的地方调 Context.registerReceiver()方法,如果取消时就调用Context.unregisterReceiver()方法。如果用动 态方式注册的BroadcastReceiver的Context对象被销毁时,BroadcastReceiver也就自动取消注册了。

    另外,若在使用sendBroadcast()的方法是指定了接收权限,则只有在AndroidManifest.xml中用<uses- permission>标签声明了拥有此权限的BroascastReceiver才会有可能接收到发送来的Broadcast。

    同样,若在注册BroadcastReceiver时指定了可接收的Broadcast的权限,则只有在包内的AndroidManifest.xml中 用<uses-permission>标签声明了,拥有此权限的Context对象所发送的Broadcast才能被这个 BroadcastReceiver所接收。

动态注册:
    IntentFilter intentFilter = new IntentFilter();
    intentFilter.addAction(String);--为 BroadcastReceiver指定action,使之用于接收同action的广播 registerReceiver(BroadcastReceiver,intentFilter);
    一般:在onStart中注册,onStop中取消unregisterReceiver

发送广播消息:extends Service
    指定广播目标Action:Intent Intent = new Intent(action-String)
    --指定了此action的receiver会接收此广播
    需传递参数(可选) putExtra();
    发送:sendBroadcast(Intent);

分享到:
评论

相关推荐

    Android \BroadCastReceiver 简介

    在 Android 系统中,`BroadcastReceiver` 是一个关键组件,它允许应用程序对外部事件进行响应,比如系统级别的事件(如电池状态变化、网络连接状态更新)或者自定义事件(例如应用间的通信)。`BroadcastReceiver` ...

    android BroadcastReceiver 源码

    在Android系统中,BroadcastReceiver是实现跨进程通信和全局事件通知的重要组件。它允许应用程序接收并响应系统或自定义广播事件,即使应用没有在运行。本文将深入探讨`BroadcastReceiver`的源码,帮助你理解其工作...

    Android BroadcastReceiver接收收到短信的广播

    Android BroadcastReceiver接收收到短信的广播 在 Android 中,BroadcastReceiver 是四大组件之一,负责接收和处理系统级别的广播信息。这些广播信息可以提供各种系统状态信息,如电量低、存储空间不足、开机自...

    Android BroadcastReceiver Demo

    在Android系统中,BroadcastReceiver是一种重要的组件,它用于监听并响应系统或应用广播事件。BroadcastReceiver使得应用程序可以在不运行状态下接收并处理系统广播,增强了应用的交互性和响应性。本Demo,"Android ...

    android BroadcastReceiver相关测试代码

    在Android开发中,BroadcastReceiver是系统广播机制的重要组成部分,它允许应用程序在不直接交互的情况下接收并响应系统或自定义广播事件。BroadcastReceiver是Android四大组件之一,用于处理系统全局的事件通知。本...

    Android学习之BroadcastReceiver总结

    在Android系统中,BroadcastReceiver(广播接收者)是四大组件之一,它扮演着接收系统或应用广播消息的重要角色。BroadcastReceiver使得应用可以在不运行的情况下,响应系统或其它应用发出的事件,例如系统启动完成...

    Android BroadcastReceiver实例Demo

    在Android开发中,BroadcastReceiver(广播接收者)是四大组件之一,它负责监听系统或应用程序广播事件,并在接收到广播时执行相应的操作。本实例Demo将深入解析BroadcastReceiver的使用方法,帮助开发者更好地理解...

    Android中Broadcastreceiver两种注册方式

    android BroadcastReceiver两种注册方式:1.在AndroidManifest.xml中注册 2.在Activity中注册。两种注册BroadcastReceiver方法的比较: 现在我们了解了两种注册BroadcastReceiver的方法之后,需要考虑一下这两种方法...

    Android的BroadcastReceiver简单示例

    在Android系统中,BroadcastReceiver(广播接收者)是四大组件之一,它负责监听系统或应用程序发布的广播消息。BroadcastReceiver能够使应用在不运行的情况下对特定事件做出响应,从而实现跨应用通信。本示例将详细...

    android broadcastReceiver 代码示例

    在Android系统中,BroadcastReceiver(广播接收者)是四大组件之一,它负责监听系统或应用程序发布的广播事件,并在接收到广播时执行相应的处理。BroadcastReceiver的使用是Android开发中的重要一环,尤其对于系统...

    Android BroadcastReceiver

    在Android系统中,BroadcastReceiver(广播接收者)是四大组件之一,它负责监听系统或应用程序级别的广播事件。广播是Android系统进行组件间通信的一种重要方式,可以无须直接交互就能传递消息。本教程将深入讲解...

    android BroadcastReceiver实验,短信接收

    在Android开发中,BroadcastReceiver是一种重要的组件,它用于监听系统或应用广播事件并做出响应。在本实验中,我们探讨的是如何创建一个自定义的BroadcastReceiver来接收短信,并根据短信内容展示相应的GIF动画。 ...

    Android BroadcastReceiver实例Demo(有序广播的发送)

    在Android系统中,BroadcastReceiver是一种重要的组件,它用于接收并响应系统或应用程序发出的各种广播事件。本篇文章将深入探讨如何创建和使用一个`Android BroadcastReceiver`实例,特别是关注有序广播的发送。 ...

    《BroadcastReceiver详解》对应源码

    BroadcastReceiver在Android系统中扮演着一个至关重要的角色,它是Android应用程序间通信(IPC)的一种方式,使得应用可以在没有用户交互的情况下接收系统或其它应用发送的广播消息。在本《BroadcastReceiver详解》...

    Android BroadcastReceiver常见监听整理

    在Android开发应用过程中 Android BroadcastReceiver经常会用到,所以抽时间整理了一番,省的后续在用到的时候再去百度。 BroadcastReceiver几种常见监听 1.BroadcastReceiver监听拨号 &lt;intent android:priority=...

    Android-BroadcastReceiver高级应用

    Android-BroadcastReceiver高级应用,详细参见博客:http://www.cnblogs.com/plokmju/p/android_SystemBroadcastReceriver.html

    Android广播onReceiver回调更新ui

    在Android系统中,广播接收器(BroadcastReceiver)是一种非常重要的组件,它允许应用程序接收并响应系统或应用广播的意图(Intent)。"Android广播onReceiver回调更新ui"这个主题主要涉及如何在广播接收器中处理...

Global site tag (gtag.js) - Google Analytics