首页 > 其他分享 >Android本地广播工具类

Android本地广播工具类

时间:2024-11-01 13:59:11浏览次数:1  
标签:广播 LocalBroadcastManager content manager intent 本地 import Android android

LocalBroadcastUtil
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.content.IntentFilter
import android.os.Bundle
import androidx.localbroadcastmanager.content.LocalBroadcastManager

/**
 * 本地广播工具类
 */
object LocalBroadcastUtil {

    private var manager: LocalBroadcastManager? = null

    fun receive(context: Context, callback: ((bundle: Bundle?) -> Unit)?) {
        manager = LocalBroadcastManager.getInstance(context)
        val intentFilter = IntentFilter()
        intentFilter.addAction("local_broad_cast")

        val receiver = object : BroadcastReceiver() {
            override fun onReceive(context: Context, intent: Intent) {
                callback?.invoke(intent.getBundleExtra("data"))
                manager?.unregisterReceiver(this)
            }
        }
        manager?.registerReceiver(receiver, intentFilter)
    }

    fun send(bundle: Bundle? = null) {
        manager?.let {
            val intent = Intent()
            intent.setAction("local_broad_cast")
            intent.putExtra("data", bundle)
            it.sendBroadcast(intent)
        }
    }

}

 

标签:广播,LocalBroadcastManager,content,manager,intent,本地,import,Android,android
From: https://www.cnblogs.com/zuiniub/p/18520002

相关文章

  • 本地仓库
    ubuntu安装gitsudoapt-getinstallgit全局配置gitconfig--globaluser.name"yourname"gitconfig--globaluser.email"youremail"--global参数表示在这台机器上的git仓库都会使用该配置,也可对某个仓库单独指定用户名和邮箱gitconfig--global--list查看全局配......
  • Android APP如何获取设备网线插拔的状态
    我们的Android设备终端是支持有线接入的,现在有个需求是查询设备是否接入有线,查了下Android标准API没有找到查询有线接入与否的方法。后来与做系统的同事沟通,他告诉我可以通过cat/sys/class/net/eth0/operstate命令获取,UP表示接入,DOWN表示未接入。然后顺便扩展查询了下相关资......
  • 怎么使用Git在本地删除文件
    ​当你在开发过程中使用Git作为版本控制工具时,可能会遇到需要删除文件的情况。以下步骤将指导你:1.使用命令行界面;2.使用gitrm命令删除文件;3.提交更改;4.删除没有追踪的文件;5.小心处理.gitignore文件。在删除文件之前,务必确定已保存了任何需要的更改,并了解Git中删除文件的影......
  • 基于安卓Android的自来水收费系统APP(源码+文档+部署+讲解)
    !!!!!!!!!选题不知道怎么选不清楚自己适合做哪块内容都可以免费来问我会持续一直更新下去有问必答一键收藏关注不迷路源码获取:https://pan.baidu.com/s/1aRpOv3f2sdtVYOogQjb8jg?pwd=jf1d提取码:jf1d !!!!!!!!!项目介绍随着智能水务管理的发展和用户对便捷服务的需求增加,一个功能全......
  • 高途课堂视频课程资料下载工具,如何在电脑端下载高途和途途视频课程资料到本地?
    一.安装高途/途途课程下载器1.获取学无止下载器https://www.xuewuzhi.cn/gaotu_downloader2.下载安装后,然后点击桌面快捷方式运行即可。注意:杀毒软件可能会阻止外部exe文件运行,并将其当做成病毒,直接添加信任即可,本软件绝对没有木马病毒。二.使用说明1.学无止下载器介绍......
  • Android添加OpenCV支持
    首先下载OpenCV的SDK推荐在官网下载。官网地址:https://opencv.org/releases/也可以在OpenCV的GitHub上现在GitHUb链接:https://github.com/opencv/opencv/releases官网下载:GitHub下载下载完成后,解压压缩包,会得到以下目录其中SDK文件夹是我们要导入的目标。在进行......
  • 【Android】屏幕超时休眠
    前言屏幕超时休眠指的是在设备一段时间没有操作后,自动关闭屏幕显示以节省电量并防止误触。当屏幕进入休眠状态时,通常会关闭屏幕背光,但设备可能仍在运行后台进程。正文Settings应用相关Settings应用的屏幕超时休眠界面相关代码定位到:packages/apps/Settings/res/xml/display_s......
  • 本地商家的专属生意阵地,让生意“一推就来”
    巨量|本地推 各位商家朋友们,现在想开通巨量本地推可以找翼数啦~6月翼数成功拿到巨量本地推综合代理商资质!在本地生活服务、全域推广上再度升级,未来翼数将为商家提供一站式营销方式让商家每笔钱都花在刀刃上,提高转化率;为服务商提供更全面的技术支持,帮助服务商快速开拓市场202......
  • android OpenGL ES详解——双缓冲区、默认缓冲区和帧缓冲区
    目录一、双缓冲1、概念2、如何使用1、初始化双缓冲2、绘制操作3、交换缓冲区3、优势1、避免屏幕闪烁2、提高渲染效率3、优化资源利用4、注意事项1、内存使用2、交换时间3、同步问题二、默认缓冲1、概念2、如何使用1、渲染操作2、显示操作3、交换缓冲3、注......
  • uniapp - 详细实现移动端公众号 H5 网页授权登录流程及示例代码,申请测试公众号全流程
    前言Vue版本,请访问这篇文章。在uni-appH5网站平台开发中,详解微信公众号网页接入微信授权登录示例代码,附带申请测试公众号全流程及配置教程,提供前端h5页面公众号网页实现授权登陆并获取用户昵称头像数据的示例源码,用自己项目跑出来的本地局域网IP段就可以拉起公众......