【BroadCastReceiver】

项目中的广播使用

BroadCastReceiver广播接收者,安卓四大组件之一

广播三大要素

  1. 广播发送者:发送广播

  1. 广播接收者:用于接收广播

  1. 要处理的事情:处理广播的相关信息,intent有图对象

广播的使用场景

  1. 同一APP下多个组件之间传递数据(Activity/Fragment/Service之间传递数据

  1. 2个App之间传递数据

技能get点:

  1. 自定义广播接收者

  1. 使用广播接收者进行电话拦截和短信拦截和系统电量的变化

广播生命周期

静态注册和动态注册的区别:假如说Activity是接收者:

动态注册

  1. 广播会跟Activity的生命周期的结束而结束;

  1. 自由的控制注册和取消,有很大的灵活性

静态注册:

  1. 广播不会跟随Activity的生命周期的结束而结束,一直存在,即使应用程序关闭,也会被唤醒接收广播

  1. 全局的广播

如何实现广播

  1. 先创建一个广播,写一个类继承BroadcastReceiver即可

package com.example.day12;

public class MyReceiver extends BroadcastReceiver {

@Override

protected void onReceive(Context context,Intent intent) {

}

  1. 注册一个广播

静态广播注册

在清单文件中注册广播就是静态的

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

package="com.example.day12">

<application

android:allowBackup="true"

android:icon="@mipmap/ic_launcher"

android:label="@string/app_name"

android:roundIcon="@mipmap/ic_launcher_round"

android:supportsRtl="true"

android:theme="@style/AppTheme">

<!--我是一个广播-->

<receiver

android:name=".MyReceiver"

android:enabled="true"

android:exported="true">

<intent-filter>

<action android:name="com.feng.broad" />

</intent-filter>

</receiver>

<!--广播结束-->

<activity android:name=".MainActivity">

<intent-filter>

<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />

</intent-filter>

</activity>

</application>

</manifest>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值