Android学习之本地广播使用方法详解
发布时间 - 2026-01-11 02:42:31 点击率:次本地广播信息只能在应用程序内部传递,同时广播接收器也只能接收应用程序内部的广播消息。

MainActivity代码
package com.example.luobo.mybroadcastreceiver;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.support.v4.content.LocalBroadcastManager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
private Button button;
private IntentFilter intentFilter;
private LocalBroadcastManager localBroadcastManager ;
private LocalReceiver localReciiver;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button)findViewById(R.id.send_button);
button.setOnClickListener(this);
localBroadcastManager = LocalBroadcastManager.getInstance(this);//使用
intentFilter = new IntentFilter();
intentFilter.addAction("com.example.luobo.mybroadcastreceiver.LOCAL_BROADCAST");
localReciiver = new LocalReceiver();
localBroadcastManager.registerReceiver(localReciiver,intentFilter);
}
@Override
protected void onDestroy() {
super.onDestroy();
localBroadcastManager.unregisterReceiver(localReciiver);
}
@Override
public void onClick(View view) {
Intent intent = new Intent("com.example.luobo.mybroadcastreceiver.LOCAL_BROADCAST");
localBroadcastManager.sendBroadcast(intent);
}
class LocalReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context,"received local broadcast",Toast.LENGTH_SHORT).show();
}
}
}
首先通过LocalBroadcastManager(本地广播管理类)的getInstance(this)方法获取实例,注册广播消息时是调用localBroadcastManager实例的registerReceiver(参数1,参数2)方法注册(参数1是本地广播接受者,参数2是过滤器只选择接收特定的广播消息),调用localBroadcastManager实例的sendBroadcast(Initent initent)方法发送广播消息。
MyRecevity
package com.example.luobo.mybroadcastreceiver;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;
public class MyReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context,"Received in MyBroadCastReceiver",Toast.LENGTH_SHORT).show();
abortBroadcast();
}
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.luobo.mybroadcastreceiver.MainActivity">
<Button
android:id="@+id/send_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="发送广播"/>
</android.support.constraint.ConstraintLayout>
AndroidMainfest.aml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.luobo.mybroadcastreceiver">
<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">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver
android:name=".MyReceiver"
android:enabled="true"
android:exported="true">
<intent-filter
android:priority="100">
<action android:name="com.example.luobo.mybroadcastreceiver.LOCAL_BROADCAST"/>
</intent-filter>
</receiver>
</application>
</manifest>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# Android
# 本地广播
# Android中BroadcastReceiver(异步接收广播Intent)的使用
# Android 广播大全 Intent Action 事件详解
# Android apk安装替换卸载广播的实现代码
# Android中的广播和广播接收器代码实例
# android连接wifi时获取广播地址代码
# Android基于广播事件机制实现简单定时提醒功能代码
# Android广播接收机制详细介绍(附短信接收实现)
# Android广播接实现监听电话状态(电话的状态
# 拦截)
# Android 开机广播的使用及配置
# android如何默认打开小区广播具体实现
# 应用程序
# 大家多多
# 管理类
# 只能在
# void
# protected
# Override
# onCreate
# setContentView
# super
# savedInstanceState
# localReciiver
# private
# OnClickListener
# implements
# button
# LocalReceiver
# localBroadcastManager
# intentFilter
# layout
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Android自定义listview布局实现上拉加载下拉刷新功能
Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】
Python3.6正式版新特性预览
Laravel如何实现邮箱地址验证功能_Laravel邮件验证流程与配置
Internet Explorer官网直接进入 IE浏览器在线体验版网址
Laravel Pest测试框架怎么用_从PHPUnit转向Pest的Laravel测试教程
Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康
Laravel如何为API编写文档_Laravel API文档生成与维护方法
奇安信“盘古石”团队突破 iOS 26.1 提权
nodejs redis 发布订阅机制封装实现方法及实例代码
如何在宝塔面板中创建新站点?
DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解
Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】
电视网站制作tvbox接口,云海电视怎样自定义添加电视源?
,在苏州找工作,上哪个网站比较好?
EditPlus中的正则表达式 实战(4)
如何确保西部建站助手FTP传输的安全性?
Laravel如何使用Service Container和依赖注入?(代码示例)
网站制作价目表怎么做,珍爱网婚介费用多少?
打造顶配客厅影院,这份100寸电视推荐名单请查收
如何用搬瓦工VPS快速搭建个人网站?
Laravel怎么清理缓存_Laravel optimize clear命令详解
简历没回改:利用AI润色让你的文字更专业
如何快速使用云服务器搭建个人网站?
Laravel如何使用Facades(门面)及其工作原理_Laravel门面模式与底层机制
Laravel如何使用Blade模板引擎?(完整语法和示例)
php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】
Laravel怎么自定义错误页面_Laravel修改404和500页面模板
EditPlus中的正则表达式实战(5)
免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?
高端建站如何打造兼具美学与转化的品牌官网?
php静态变量怎么调试_php静态变量作用域调试技巧【解答】
利用JavaScript实现拖拽改变元素大小
广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?
Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)
Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】
php做exe能调用系统命令吗_执行cmd指令实现方式【详解】
如何用好域名打造高点击率的自主建站?
中国移动官方网站首页入口 中国移动官网网页登录
Laravel怎么在Blade中安全地输出原始HTML内容
如何用JavaScript实现文本编辑器_光标和选区怎么处理
独立制作一个网站多少钱,建立网站需要花多少钱?
详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)
html如何与html链接_实现多个HTML页面互相链接【互相】
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
Laravel Octane如何提升性能_使用Laravel Octane加速你的应用
Laravel如何保护应用免受CSRF攻击?(原理和示例)
如何在万网自助建站平台快速创建网站?
Bootstrap CSS布局之列表
Laravel如何处理CORS跨域请求?(配置示例)
下一篇:探究Linux MBR的作用
下一篇:探究Linux MBR的作用

