Android:BroadCast Receiver
目录
BriadCast Receiver(广播接收者)
BriadCastReceiver是什么?
重点:Android中出现的第一个错误
广播接收者一共有两种,分别是:标准广播和有序广播
标准广播:是一种完全异步执行的广播,在广播发出之后,所有的广播接收器几乎都会在同一时刻接收到这条广播消息,因此他们之间没有先后顺序。效率比较高,但是不能被截断。
BriadCast Receiver(广播接收者)
BriadCastReceiver是什么?
BriadCastReceiver是Android四大组件之一,必须在清单文件(androidManifest.xml)文件中进行注册
是组件之间传播数据(intent)的一种机制
APP哪些地方用到了广播
电话
短信
电量
WIFI是否连接
消息弹窗
重点:Android中出现的第一个错误
在广播组件中进行耗时操作,就会报 :application no reponse(ANR)
广播接收者一共有两种,分别是:标准广播和有序广播
标准广播:是一种完全异步执行的广播,在广播发出之后,所有的广播接收器几乎都会在同一时刻接收到这条广播消息,因此他们之间没有先后顺序。效率比较高,但是不能被截断。
标准广播又分为静态注册和动态注册
静态注册
创建广播接收器(可以使用快捷方式)
注册广播:静态注册需要在清单文件中注册由于是快捷方式创建的广播接收器,注册会自动完成。所有的静态广播都是在application标签内的receiver标签里注册的
<receiverandroid:name=".MyBroadReceiver"android:enabled="true"android:exported="true"><intent-filter>//添加需要监听的广播值<action android:name="com.example.broadcasttest.MY_BROADCAST" /></intent-filter></receiver>
发送信息给静态注册的广播接受者
动态注册
创建广播接收器,继承BroadcastReceiver,重写父类的onReceive()方法
创建IntentFilter的实例,添加值为想要监听的广播的action
创建广播接收器的实例,调用registerReceiver()方法进行注册
取消注册,动态注册的广播接收器需要取消注册
声明权限:在AndroidManifest.xml文件中加入权限
myDynamicReceiver=new MyDynamicReceiver();//注册动态广播接收者IntentFilter intentFilter=new IntentFilter();intentFilter.addAction("shy");registerReceiver(myDynamicReceiver,intentFilter);class MyDynamicReceiver extends BroadcastReceiver{@Overridepublic void onReceive(Context context, Intent intent) {Log.i("动态广播接收者", "onReceive: "+intent.getStringExtra("shy"));}}
为防止内存泄漏需要在onDestory中进行反注册
@Overrideprotected void onDestroy() {super.onDestroy();unregisterReceiver(myDynamicReceiver);}
发送信息给动态注册的广播接受者
Android:BroadCast Receiver相关推荐
- Android Broadcast Receiver
Android中的广播主要分为两种:标准广播和有序广播 标准广播:一种完全异步执行的广播,广播发出后,所有的广播接收器几乎都会在同一时刻接收到这条广播,他们之间没有任何先后顺序可言. 有序广播:是一种 ...
- android 组件(activity,service,content provider,broadcast receiver,intent)详解
Android应用程序由若干个不同类型的组件组合而成,每一个组件具有其特定的安全保护设计方式,它们的安全直接影响到应用程序的安全.Android应用程序组件的主要类型有:活动(Activity),服务 ...
- 007 Android之Broadcast Receiver
文章目录 广播的概念 广播的类型 广播接收实例 IP拨号器 开机自启动 监听应用安装和卸载 广播的概念 现实中的广播:电视台发送广播,使用收听机可以收听广播,得到广播信息 Android中的广播:系统 ...
- Android静态安全检测 - Broadcast Receiver组件暴露
Broadcast Receiver组件暴露 - exported属性 一.android:exported 该属性用来标示,当前Broadcast Receiver是否可以从当前应用外部获取Rece ...
- Android 用 broadcast receiver组件实现音乐盒
Android 用 broadcast receiver详解用例 Android 用 broadcast receiver详解用例 一.BroadcastReceiver概述 1.BroadcastR ...
- android 四大组件Broadcast Receiver
本文介绍Broadcast Receiver,包括几部分内容:Broadcast Receiver概述及实例.自定义Broadcast Receiver.Broadcast Receiver的实现细节 ...
- [2021.07.12]Android系统广播机制(Broadcast Receiver)
广播(Broadcast)是一种在组件之间进行消息传递的方式.这些组件可以运行在同一个进程中,也可以在不同的进程中.事实上,广播机制就是在Binder进程间通信的基础上实现的.那么,有了Binder通 ...
- Broadcast Receiver @
http://developer.android.com/reference/android/content/BroadcastReceiver.html 译文: http://www.2cto.co ...
- Android - Broadcast
10s执行不完就ANR异常. 一.概念 Broadcast运行在主线程,使用了观察者模式,基于消息的发布/订阅事件模型,将发送者和接收者解耦使得方便集成更易扩展. 全局广播 APP ↔ 系统 像电量低 ...
最新文章
- 树模型集成学习(Tree Embedding)
- TCP滑动窗口 - 动画演示
- OpenCV中图像垂直拼接函数vconcat的使用
- for in for of区别_(for…in) VS (for…of)
- WPS长文档编辑技巧之二:对样式的设置与修改
- MFC Radio Button笔记
- 给 datepicker 设定日期格式
- 检查字段是否包含字符串
- iOS UIPageControl
- win7移动设备管理器_win7系统usb设备识别不了的解决方案
- 搜索题,留着以后慢慢刷
- 不虚此行!OpenStack 温哥华峰会参会分享值得收藏
- day14:磁盘管理df/du/fdisk/parted命令
- python股票交易模型_利用python建立股票量化交易系统(一)——小市值选股票模型...
- CentOS 7 安装Dukto(局域网通信工具)
- 计算机怎么算平均分公式,平均分怎么算
- 什么是java全栈工程师
- 怎么在html中复制粘贴图片,如何复制其他网页上的文章和图片
- 基于JAVAweb唐院寻人表白系统计算机毕业设计源码+数据库+lw文档+系统+部署
- 小白常用的Widows10实用功能,让你更好掌控你的电脑。
热门文章
- php时区设置为prc还是错误,关于php时区时间错误问题的解决,以及Unix时间戳转换工具...
- vmware虚拟机实现两台电脑远程桌面连接
- golang for嵌套循环中break 的注意事项和使用细节: break 语句出现在多层嵌套的语句块中时,可以通过标签指明要终止的是哪一层语句块
- String的普通方法
- 解决Mac OS 山猫10.8下Xcode无法更新以及速度慢的问题
- 【Linux】Centos安装mvn命令(maven)
- 基于stm32c8t6的两轮平衡小车 第二篇——原理图及CubeMx配置
- nbuoj 1103 计算等式
- S5PV210实验板发布
- 大数据基础之常用Linux命令