IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Android Broadcast的学习 -> 正文阅读

[移动开发]Android Broadcast的学习

1.Broadcast概念
是一个全局的监听器,属于Android四大组件之一。Broadcast(广播)是一种广泛运用的在应用程序(APP)之间传输信息的机制。而BroadcastReceiver(广播接收器)是对发送出来的 广播进行过滤接受并响应的一类组件。
2.Broadcast作用:监听 / 接收 应用发出的广播消息,并做出响应。
3.三要素和两步骤。
(1)Broadcast (广播) – 用于发送广播
(2)BroadcastReceiver (广播接收器) – 用于接受广播
(3)Intent (意图) – 用于保存广播相关信息的媒介
(4)创建广播接收器
(5)注册广播接收器
4.广播的类型。
(1)从类型上可以分为有序广播和标准广播两大类。
(2)从广播接收器的注册方法上可以分为静态注册和动态注册。
(3)从发送方式上可以分为普通广播、有序广播、粘性广播、本地广播…。
(4)从所属队列上可以分为前台广播、后台广播。
5.Android 8.0 之后静态广播新特性:
(1)取消大部分清单文件中的静态注册广播
(2)应用可以继续在它们的清单中注册显式广播
(3)应用可以在运行时使用 Context.registerReceiver() 为任意广播注册接收器
(4)需要签名权限的广播不受此限制所限所限
(5)需要指的包名类名的方式实现静态广播的收发
6.广播接收器动态广播注册:
和静态广播的创建BroadcastRecevier类似,新建一个BroadcastReceiver子类,该类继承 BroadcastReceiver类。
在这里插入图片描述
7.广播接收器动态广播过滤器:
由于动态广播是动态注册的,需要在类中进行初始化的声明,和AndroidManifest.xml中的 类似
在这里插入图片描述
8.动态广播的注册和反注册时机:
(1)onCreate() -> onDestroy()(即便页面未显示,仍然能接受广播)
(2)onResume() -> onPause() (即只有页面显示时,才能接受广播)
(3)onStart () -> onStop()
注册与反注册广播方法要成对出现,重复注册、重复注销也不允许。调用Context注册,就要用Context反注册,而不能直接调用unregisterReceiver(mReceiver)。

动态广播和静态广播的demo练习:通过点击两个按钮,实现静态注册和动态注册的广播
1.新建的工程中,通过静态注册创建一个广播,在包名右键,选择”NEW”–>”Other”–>”Broadcast Receiver”。静态注册创建的广播会自动在AndroidManifest.xml中进行广播的注册。
在这里插入图片描述
2.通过动态注册创建一个广播,创建一个类,继承BroadcastReceiver类,这个广播在使用的时候需要进行手动注册。
在这里插入图片描述
3.创建两个按钮。
在这里插入图片描述
4.为两个按钮创建点击时间,点击按钮1进行动态广播发送,点击按钮2进行静态广播发送。
在这里插入图片描述
动态广播的注册需要在点击事件中进行编写,同时intent.setAction(“action test”)括号中的内容需要与intentFilter.addAction(“action test”)括号中的内容一致,否则广播接收不到。
5.运行效果。
在这里插入图片描述

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章           查看所有文章
加:2021-07-29 14:49:26  更:2021-07-29 14:49:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/22 23:40:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码