无序广播详解

本文介绍了Android无序广播的特点,包括无法终止和修改数据,并特别指出在Android8.0以后静态注册无序广播的限制。动态注册是接收特殊广播的必要方式,文章详细阐述了动态和静态注册广播接收者的过程,以及在不同Android版本下发送无序广播的注意事项。
摘要由CSDN通过智能技术生成

前言

Google从Android8.0版本开始,对在清单文件中静态注册广播做了限制。
特殊广播:也是一种无序广播。特殊的广播:指那些操作比较频繁的广播事件类型。如:屏幕的开、关广播,电量的变化广播等等必须动态注册广播,这种特殊的广播事件在 AndroidManifest.xml 中注册是无效的

概述

类似于新闻联播,不关心是否有人接收,都会发送。
广播接收者的两种注册方式:静态注册 和 动态注册。静态注册(分:安卓8.0之前和安卓8.0之后)

无序广播注意项

无序广播特点:

  1. 无法终止广播
  2. 无法修改数据

无序广播遇到的坑:

  1. 特殊广播必须动态注册
  2. 在安卓8.0后 发送无序广播,必须使用全类名方式

动态注册 接收无序广播

  1. 定义一个广播接收者(两种方式)
//方式一:动态注册一个广播接受者
        BroadcastReceiver receiver = new BroadcastReceiver() {
   
            @Override
            public void onReceive(Context context, Intent intent) {
   
                String action = intent.getAction();
                if (Intent.ACTION_SCREEN_OFF.equals(action)) {
   
                    Log.e("动态注册广播接收者", "屏幕 关闭 了");
                } else if (Intent.ACTION_SCREEN_ON.equals(action)) {
   
                    Log.e("动态注册广播接收者", "屏幕 开启 了");
                }
            }
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值