`
韩悠悠
  • 浏览: 842587 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

广播接收者

 
阅读更多


广播接受者(BroadcastReceiver)用于接收广播Intent,广播Intent的发送是通过调用
Context.sendBroadcast(),Context.sendOrdereBroadcast()来实现。通过一个广播Intent可以被
订阅了此Intent的多个广播接受者所接收。这个特性跟JMS中的Topic消息接收者类似,
要实现一个广播接收者方法如下:
第一步:继承BroadcastReceiver,并重写onReceive()方法
第二步:订阅感兴趣的广播Intent,订阅方法有俩种:
   第一种:使用代码订阅
   IntentFilter filter = new IntentFilter("android.provider.Telephony.SMS_RECEIVED");
   IncomingSMSReceiver receiver = new IncomingSMSReceiver();
   receiverReceiver(receiver,filter);
   第二种:在androidManifest.xml文件中的<application>节点里进行订阅
   <receiver android:name=".IncomingSMSReceiver">
 <intent-filter>
  <action android:name="android.provider.Telephony.SMS_RECEIVED"/>
 </intent-filter>
   </receiver>

 <!-- 接受短信权限 -->
<uses-permission android:name="android.permission.SEND_SMS"/>

 

广播被分为俩种不同的类型,普通广播和有序广播,普通广播是完全异步的。可以在同一时刻被所有的接收者收到。
消息传递的效率比较高,但是缺点是:接收者不能将结果传递给下一个接收者。并且无法终止广播intent的传播。
然后有序广播是按照接收者申明的优先级别(申明在intent-filter元素的android:property属性中,数越大,
优先级别越高,取值范围-1000到1000,也可以调用IntentFilter对象的setProperty()进行设置).被接收者依次
接收广播,如:A的级别高于B,B的级别高于C,那么广播先传给A,在传给B,最后传给C,A得到广播后,可以在
广播里存入数据,当广播传给B时,B可以从广播中取出A存入的数据。

Context.sendBroadcast();
发送的是普通广播,所有订阅者都有机会获得并进行处理。
Context.sendOrderBroadcast();
发送的有序广播

接收电池电量变化广播Intent
<receiver android:name=".Myclass">
 <intent-filter>
  <action android:name="android.intent.action.BATTERY_CHANGED"/>
 </intent-filter>
</receiver>

接收开机启动广播
<receiver android:name=".MyClass">
 <intent-filter>
  <action android:name="android.intent.action.BOOT_COMPLETED"/>
 </intent-filter>
</receiver>
并且要进行权限的申明
<uses-premission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>

在android中,程序的相应被活动管理器和窗口管理器这俩个系统服务所监视,当BroadcastReceiver在10秒
内没有执行完毕,android会认为该程序无响应,会弹出ANR(application No response)对话框,所以
不执行耗时的工作

分享到:
评论

相关推荐

    Android的广播接收者

    在Android系统中,广播接收者(Broadcast Receiver)是一种重要的组件,它允许应用程序监听并响应系统或自定义广播事件。广播是Android系统中一种全局的消息传递机制,用于在不同应用程序之间进行通信,即使这些应用...

    广播接收者-1

    广播接收者是Android系统中的一种重要组件,它用于监听并响应系统或应用程序发出的各种广播事件。在Android应用开发中,广播接收者可以帮助我们实现后台运行的任务,即使应用没有在前台运行,也能接收到并处理相应的...

    Android-服务与广播接收者实现本地音乐播放

    在Android应用开发中,服务(Service)和广播接收者(BroadcastReceiver)是两个重要的组件,它们在实现本地音乐播放功能时发挥着关键作用。本文将深入探讨如何利用这两个组件来创建一个本地音乐播放器。 首先,...

    072集-静态和动态注册广播接收者

    在Android开发中,广播接收者(Broadcast Receiver)是一种重要的组件,它允许应用程序监听并响应系统或自定义广播事件。本视频教程“072集-静态和动态注册广播接收者”深入探讨了这两种不同的注册方式及其应用场景...

    Android自学笔记-17-广播接收者(BroadcastReceiver)

    在Android开发中,广播接收者(BroadcastReceiver)是Android四大组件之一,它是系统用来传递全局消息的一种机制。当你创建一个BroadcastReceiver,你可以监听系统或应用发送的广播,并在接收到广播时执行相应的处理...

    广播接收者-2

    广播接收者是Android系统中的一种重要组件,它允许应用程序在后台接收并响应系统或其它应用发出的广播消息。本篇文章将深入探讨广播接收者的基本概念、注册方式、以及三种不同类型的广播:普通广播、有序广播和本地...

    Android中采用广播接收者实现短信监控器、拦截外拨电话功能案例

    在Android开发中,广播接收者(Broadcast Receiver)是一种非常重要的组件,它允许应用程序在系统广播事件发生时接收到通知并做出响应。在这个“Android中采用广播接收者实现短信监控器、拦截外拨电话功能案例”中,...

    Android入门:广播发送者与广播接收者详细介绍

    一、广播发送者&广播接收者介绍 1.广播接收者 广播接收者简单地说就是接收广播意图的Java类,此Java类继承BroadcastReceiver类,重写: public void onReceive(Context context,Intent intent),其中intent可以获得...

    广播接收者-3

    广播接收者是Android系统中的一个重要组件,用于监听和响应系统或应用发出的广播事件。在Android应用程序设计中,广播接收者扮演着一个监听者角色,它可以在后台运行,无需用户交互就能接收到特定的广播消息并执行...

    Android之广播接收者

    在Android系统中,广播接收者(Broadcast Receiver)是四大组件之一,它扮演着监听系统或应用广播消息的角色。广播在Android中是一种全局的通知机制,任何应用程序都可以发送或接收广播,即使它们并未在运行。理解并...

    广播接收者实例

    在Android系统中,广播接收者(Broadcast Receiver)是四大组件之一,它允许应用程序接收并响应系统或应用广播事件。广播是一种全局的通知机制,当系统或应用程序发送一个广播时,所有注册了相应Intent过滤器的...

    073集-在广播接收者中启动其它组件

    073集-在广播接收者中启动其它组件视频教程,个人感觉还可以,共享给大家。

    安卓的一些快捷键和广播接收者

    ### 安卓的一些快捷键和广播接收者 在Android开发过程中,广播接收者(BroadcastReceiver)和快捷键是两个非常重要的概念。本文将详细介绍这两个方面的重要知识点。 #### 广播接收者 **广播接收者**是Android四大...

    qt广播接收者程序源码.zip

    在本文中,我们将深入探讨Qt框架中的广播接收者程序源码。Qt是一个强大的跨平台应用程序开发框架,广泛用于创建桌面、移动以及嵌入式系统的用户界面。广播接收者是Qt中实现事件通信的一种机制,它允许组件监听并响应...

    Android Studio—广播拦截、指定广播接收者.zip

    本资料"Android Studio—广播拦截、指定广播接收者.zip"将详细讲解如何进行广播的拦截以及如何指定特定的广播接收者。 首先,广播分为两种类型:有序广播(Ordered Broadcast)和无序广播(Unordered Broadcast)。...

    Android中使用广播接收者组件实现简单强迫用户下线功能

    在Android应用开发中,广播接收者(BroadcastReceiver)是一个至关重要的组件,它允许应用程序在后台接收和响应系统或自定义广播事件。本教程将详细解析如何利用广播接收者来实现一个简单的强制用户下线功能。 首先...

    Android 广播接收者--BroadcastReceiver

    在Android系统中,广播接收者(BroadcastReceiver)是四大组件之一,它负责监听并响应系统或应用程序发布的广播意图(Intent)。BroadcastReceiver可以帮助我们实现后台运行的任务,即使应用没有在前台运行,也能...

    广播接收者.zip

    在Android开发中,广播接收者(BroadcastReceiver)是系统架构中的一个重要组件,它允许应用程序对系统或应用级别的广播事件做出响应。"广播接收者.zip"包含的文件可能是一系列示例代码,展示了如何在Android中使用...

    安卓-Activity-广播接收者的使用

    广播接收者(Broadcast Receiver)则是Android系统中实现事件监听的一种机制,它能够接收并处理系统或应用发送的广播消息。下面我们将详细探讨Activity和广播接收者的使用。 首先,我们来看Activity的创建方式。...

Global site tag (gtag.js) - Google Analytics