当前位置:首页 > Java

java如何使用广播

2026-03-21 19:51:53Java

使用广播的基本概念

广播在Java中通常指Android平台的消息传递机制,允许应用内或应用间发送和接收系统或自定义事件。广播分为标准广播(无序)和有序广播(同步处理)。

发送广播

创建一个Intent对象并指定广播的Action字符串,通过sendBroadcast()方法发送:

Intent intent = new Intent("com.example.CUSTOM_ACTION");
intent.putExtra("data", "Hello from Broadcast");
sendBroadcast(intent);

有序广播可通过sendOrderedBroadcast()发送,允许接收者按优先级处理或中断广播。

接收广播

静态注册(在AndroidManifest.xml中声明):

java如何使用广播

<receiver android:name=".MyBroadcastReceiver">
    <intent-filter>
        <action android:name="com.example.CUSTOM_ACTION" />
    </intent-filter>
</receiver>

动态注册(在代码中注册):

BroadcastReceiver receiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
        String data = intent.getStringExtra("data");
        Log.d("Receiver", "Received: " + data);
    }
};
IntentFilter filter = new IntentFilter("com.example.CUSTOM_ACTION");
registerReceiver(receiver, filter);

注意事项

动态注册的接收器需在适当生命周期(如Activity的onResume()/onPause())中注册和注销,避免内存泄漏。Android 8.0+限制隐式广播,建议使用显式Intent或本地广播管理器。

本地广播

使用LocalBroadcastManager(已废弃,推荐替代方案):

java如何使用广播

LocalBroadcastManager.getInstance(this).sendBroadcast(intent);

替代方案为使用LiveData或RxJava等事件总线库实现组件间通信。

权限控制

发送广播时可添加权限限制:

sendBroadcast(intent, "com.example.PERMISSION");

接收方需在Manifest中声明相同权限:

<uses-permission android:name="com.example.PERMISSION" />

分享给朋友:

相关文章

java如何输入数据

java如何输入数据

输入数据的方法 在Java中,输入数据可以通过多种方式实现,具体取决于输入来源(如控制台、文件、网络等)。以下是几种常见的方法: 使用Scanner类从控制台输入 Scanner类是Java中最常用…

如何运行java项目

如何运行java项目

运行Java项目的步骤 确保Java环境已安装 在运行Java项目前,需确认系统已安装Java Development Kit(JDK)。通过命令行输入java -version和javac -ver…

java如何生成随机数

java如何生成随机数

生成随机数的方法 在Java中生成随机数可以通过多种方式实现,以下是几种常见的方法: 使用Math.random()方法 Math.random()方法返回一个double类型的伪随机数,范围在[0…

如何搭建java环境

如何搭建java环境

下载JDK 访问Oracle官网或OpenJDK官网下载适合操作系统的JDK安装包。推荐选择长期支持版本(如JDK 17或JDK 21)。 安装JDK 运行下载的安装程序,按照向导完成安装。注意…

如何学java基础

如何学java基础

学习Java基础的方法 理解Java的基本概念 Java是一种面向对象的编程语言,掌握基础概念如类、对象、继承、多态和封装是必要的。熟悉Java的语法结构,包括变量、数据类型、运算符和控制语句。 安…

react filter如何使用

react filter如何使用

react filter 的基本用法 在 React 中,filter 通常用于筛选数组数据,常见于列表渲染或数据处理场景。filter 是 JavaScript 数组的原生方法,但在 React 中…