Android广播基础

广播在Android中的作用相当于学校的喇叭。

广播是一种跨进程的通讯方式,分为标准广播和有序广播。标准广播是一种完全异步的广播,这种广播的效率比较高,同时也意味着不会被拦截;有序广播则是一种完全同步的操作,广播接收器在接收该类型广播的时候是有序的,并且有权利拦截该广播。

动态注册:

1> 创建广播接收类,继承BroadcastReceiver,并重写父类onReceive方法;

2> 监听过滤器:

IntentFilter intentFilter= new IntentFilter() ;

intentFilter.setAction("android.net.conn.CONNECTIVITY_CHANGE");

networkRecvice = new NetworkRecvice();

registerReceiver(networkRecvice,intentFilter);

3> 注销广播

unregisteReceiver(networkRecvice);

静态注册:

在AndroidManifest.xml中进行注册:

<receiver

android:name= ".networkRecvice"

<intent-filter>

<action android:name="android.net.conn.CONNECTIVITY_CHANGE">

<intent-filter>

</receiver>

发送有序广播:

发送广播:

Intent intent = new Intent("android.net.conn.CONNECTIVITY_CHANGE");

sendOrderedBroadcast(intent,null);

设置优先级:

<receiver

android:name= ".networkRecvice"

<intent-filter android:priority="100">

<action android:name="android.net.conn.CONNECTIVITY_CHANGE">

<intent-filter>

</receiver>

拦截广播:

abortBroadcast();

使用本地广播:

以上所发送和接收的广播全部属于系统全局广播,即发出的广播可以被其他任何应用程序接收到,并且也可以接受来自其他任何程序的广播。为了解决安全性乔恩题,Android引入了“本地广播体制”。

注册和接收本地广播与系统广播区别不大,主要在于增加了使用LocalBroadcastManager来对广播进行管理。

发送:

LocalBroadcastManager manager = LocalBroadcastManager.getInstance(this);

.........

manager.sendBroadcast(intent);

广播的使用比较简单,主要掌握其两种不同的注册方式,根据需求进行具体的应用。

时间: 2024-10-12 21:43:41

Android广播基础的相关文章

Android广播BroadcastReceiver

Android广播BroadcastReceiver Android 系统里定义了各种各样的广播,如电池的使用状态,电话的接收和短信的接收,开机启动都会产生一个广播.当然用户也可以自定义自己的广播. 既然说到广播,那么必定有一个广播发送者,以及广播接收器.系统广播的发送者为系统,自定义广播当然是用户定义的了. 我们可以定义一个广播接收器,用来接收我们感兴趣的广播,不论是系统广播还是用户自定义广播.这个广播接收器必须继承至BroadcastReceiver. 老规矩,先来点基础知识. 一.基础知识

Android BroadcastReceiver基础详解一

-.BroadcastReceivcer概述 1.什么是广播 BroadcastReceiver是Android四大组件之一,本质是一种全局的监听器,用于监听系统全局的广播消息.因此它可以非常方便的实现不同组件之间的通信. 2.BroadcastReceiver的创建启动 BroadcastReceiver是用用于接受程序所放出的Broadcast Intent,与应用程序启动的Activity.Service相同.也只需要两步: ①.创建需要启动的Broadcast的Intent ②.创建一个

Android核心基础(手机卫士的一个知识点总结)

注意:有些功能是需要权限的,在这里并没有写出来,在程序运行中,根据程序报的错误,添加相应的权限即可,里面的具体里面可能有一些小细节,没有明确的写出来,具体的需要在程序中自己调试,解决. 这个总结涵盖了Android的一些核心的内容,如四大组建Service.ContentProvider.BroadCastReceiver.Activity,而且四大组建都必须在清单文件中注册. 还涉及了Android手机底层的一些功能,如读取联系人.短信等.还有一些看似牛别点技术,什么短息拦截,电话拦截,黑名单

Android 基础总结:(二)Android APP基础及组件

1.Android APP基础 Android应用程序是用Java编程语言写的.编译后的Java代码--包括应用程序要求的任何数据和资源文件,通过aapt工具捆绑成一个Android包,归档文件以.apk为后缀.这个文件是分发应用程序和安装到移动设备的中介或工具,用户下载这个文件到他们的设备上.一个.apk文件中的所有代码被认为是一个应用程序. aapt: aapt是Android Asset Packaging Tool的首字母缩写,这个工具包含在SDK的tools/目录下.查看.创建.更新与

Android开发基础

Android开发基础 开发基础包括 ① Android开发环境搭建 Android Studio的安装 https://developer.android.google.cn/studio/ SDK的下载和配置 两种方法, 方法1 拷贝别人的SDK文件夹中的所有内容,放在与AndroidStudio在同级目录方法2 根据Android Studio的向导去下载和安装 模拟器的安装与配置 方法1 拷贝别人的SDK文件夹中的所有内容,放在与AndroidStudio在同级目录 方法2 在Andro

Android零基础入门第64节:揭开RecyclerView庐山真面目

大家还记得之前在第38期~第50期都在学习列表控件吗,其中用了8期讲ListView的使用,相信都已经掌握好了吧.那么本期一起来学习Android 5.X新增的一个列表组件,那就是RecyclerView的使用. 一.RecyclerView概述 从前面的学习我们知道,ListView的功能非常强大,几乎绝大部分应用程序都会使用到,虽然也学会一些方法技巧来提升ListView的效率,但其性能还是不是很完美. 另外ListView的可扩展性相对来说比较弱,以前要实现每个列表项的高度不同的界面,或者

Android零基础入门第61节:滚动视图ScrollView

原文:Android零基础入门第61节:滚动视图ScrollView 前面几期学习了ProgressBar系列组件.ViewAnimator系列组件.Picker系列组件和时间日期系列组件,接下来几期继续来学习常见的其他组件. 一.ScrollView概述 从前面的学习有的同学可能已经发现,当拥有很多内容时屏幕显示不完,显示不全的部分完全看不见.但是在实际项目里面,很多内容都不止一个屏幕宽度或高度,那怎么办呢?那就需要本节学习的ScrollView来完成. 在默认情况下,ScrollView只是

Android零基础入门第60节:日历视图CalendarView和定时器Chronometer

原文:Android零基础入门第60节:日历视图CalendarView和定时器Chronometer 上一期学习了AnalogClock.DigitalClock和TextClock时钟组件,本期继续来学习日历视图CalendarView和定时器Chronometer. 一.CalendarView 日历视图(CalendarView)可用于显示和选择日期,用户既可选择一个日期,也可通过触 摸来滚动日历.如果希望监控该组件的日期改变,则可调用CalendarView的 setOnDateCha

Android零基础入门第62节:搜索框组件SearchView

原文:Android零基础入门第62节:搜索框组件SearchView 一.SearchView概述 SearchView是搜索框组件,它可以让用户在文本框内输入文字,并允许通过监听器监控用户输入,当用户输入完成后提交搜索时,也可通过监听器执行实际的搜索. SearchView默认是展示一个search的icon,点击icon展开搜索框,也可以自己设定图标.用SearchView时可指定如下表所示的常见XML属性及相关方法. 如果为SearchView增加一个配套的ListView,则可以为Se