BroadCast用法简示

  • How To Use

注册

val intentFilter = IntentFilter()
intentFilter.addAction(BroadcastActionConstants.MQTT_UPDATE)
intentFilter.addAction(BroadcastActionConstants.RELEASE)
intentFilter.addAction(BroadcastActionConstants.MQTT_PERSONIMAGE_FAIL)
ConstantsConfig.getContext().registerReceiver(mqttReceiver, intentFilter)
public class BroadcastActionConstants {//Java...//mqtt 人像下发失败通知public static final String MQTT_PERSONIMAGE_FAIL = "android.intent.action.MQTT_person_img_fail";
}

接收

private val mqttReceiver = object : BroadcastReceiver() {override fun onReceive(context: Context?, intent: Intent?) {intent?.let {val action = it.actionclientId = DeviceUtils.getSerialNumber()when (action) {BroadcastActionConstants.MQTT_UPDATE -> {//逻辑}BroadcastActionConstants.MQTT_PERSONIMAGE_FAIL -> {//publish(intent.getStringExtra("topic")!!, intent.getStringExtra("msg")!!)//逻辑}BroadcastActionConstants.RELEASE -> {//stopSelf()//逻辑}}}}}

发送

Intent intent = new Intent(BroadcastActionConstants.MQTT_PERSONIMAGE_FAIL);
intent.putExtra("topic","/v1/up/personIssuedStatus/");
intent.putExtra("msg",json);
ConstantsConfig.getContext().sendBroadcast(intent);

For Example: 监听系统时间改变广播

//开启广播
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(Intent.ACTION_TIME_TICK);
intentFilter.addAction(Intent.ACTION_TIME_CHANGED);
registerReceiver(timeReceiver, intentFilter);

timeReceiver

//region #observer os time
private final BroadcastReceiver timeReceiver = new BroadcastReceiver() {@Overridepublic void onReceive(Context context, Intent intent) {if (intent != null) {switch (intent.getAction()) {case Intent.ACTION_TIME_TICK:if (isTimeIntegerPoint()) {//逻辑break;case Intent.ACTION_TIME_CHANGED://逻辑break;}}}
};//是否为整点数
private Boolean isTimeIntegerPoint() {String date = DateUtil.formatDateToString(new Date(), DateUtil.format_hhmm);//12:00if (date != null) {String strMinute = date.split(":")[1];return strMinute.equals("00") || strMinute.equals("30");} else {return false;}
}
//endregion

【Android】BroadCast用法简示相关推荐

  1. Android Broadcast用法

    概要描述 在 Android 系统中,广播(Broadcast)是在组件之间传播数据的一种机制,这些组件可以位于不同的进程中,起到进程间通信的作用 BroadcastReceiver 是对发送出来的 ...

  2. 坑爹的属性,android:descendantFocusability用法简析

    开发中很常见的一个问题,项目中的listview不仅仅是简单的文字,常常需要自己定义listview,自己的Adapter去继承 BaseAdapter,在adapter中按照需求进行编写,问题就出现 ...

  3. android:descendantFocusability用法简析

    开发中很常见的一个问题,项目中的listview不仅仅是简单的文字,常常需要自己定义listview,自己的Adapter去继承BaseAdapter,在adapter中按照需求进行编写,问题就出现了 ...

  4. android焦点优先级,Viewgroup焦点获取优先级android:descendantFocusability用法简析

    开发中很常见的一个问题,项目中的listview不仅仅是简单的文字,常常需要自己定义listview,自己的Adapter去继承BaseAdapter,在adapter中按照需求进行编写,问题就出现了 ...

  5. 【转】 Android - LayoutInflate用法

    [转自]http://blog.csdn.net/scut1135/article/details/7055461 通俗的说,inflate就相当于将一个xml中定义的布局找出来. 因为在一个Acti ...

  6. Python中的基本函数及其常用用法简析

    分享Python中的基本函数及其常用用法简析,首先关于函数的解释函数是为了达到某种目的而采取的行为,函数是可重复使用的,用来实现某个单一功能或者功能片段的代码块,简单来说就是由一系列的程序语句组成的程 ...

  7. fuser 用法简析

    fuser 用法简析 fuser [功能]  fuser 可以显示出当前哪个程序在使用磁盘上的某个文件.挂载点.甚至网络端口,并给出程序进程的详细信息. [描述]  fuser显示使用指定文件或者文件 ...

  8. MTK驱动(77)---Android getevent用法

    Android getevent用法 getevent命令用法如下: Usage: getevent [-t] [-n] [-s switchmask] [-S] [-v [mask]] [-d] [ ...

  9. android 仿简书评论,Android 开发仿简书登录框可删除内容或显示密码框的内容

    简书App 是我很喜欢的一款软件.今天就模仿了一下他的登录框.先上图: 好了下面上代码,自定义ImgEditText 继承与EditText.重写一些方法. package lyf.myimgedit ...

最新文章

  1. 关于string转int、float、double常用方法
  2. java统计一个字符串中每个字符出现的次数_剑指offer算法题054:字符流中第一个不重复的字符...
  3. python中locals函数_Python神奇的内置函数locals的实例讲解
  4. count数据库优化oracle,迷惑性SQL性能问题排查与优化
  5. 网页不显示样式的解决方向之一
  6. MRC与ARC混合编程的编译器标记
  7. RHELServer6.2下编译GDAL和mysql和proj4支持
  8. Linux查看系统的负载
  9. 5-9 第五天 微信 JS-SDK-使用微信官方的WEB调试工具
  10. python 虚拟环境 windows_Python虚拟环境(Windows版)
  11. QAM调制原理_锁相环(PLL)基本原理 PLL电路常见构建模块
  12. Windows 11 Insider Preview Build 22000.132 官方简体中文版 iso 下载
  13. Flume防止重复消费——断点续传
  14. 【Visual C++】游戏开发四十九 浅墨DirectX教程十七 三维天空的实现
  15. 麋鹿分布图制作(二)—— 用Python和R在地图上打点
  16. 3653: 谈笑风生
  17. html 百度天气,百度天气预报api
  18. 三子棋游戏(呆呆详解版)
  19. 邓宁-克鲁格效应(Dunning-Kruger effect,达克效应)
  20. AMD CPU VMware 16 Pro安装macOS 10.15

热门文章

  1. JavaScript-移动端(touch事件)
  2. 电脑上计算机软件一直自动弹出,WinXP光驱总是自动弹出来怎么办?电脑光驱老是自动弹出解决方法...
  3. Intel Core i7 - 8086K 四十周年纪念版 开箱图赏
  4. ubuntu下常用的抓包软件_告诉你Ubuntu下使用wireshark进行网络抓包的方法及命令
  5. javapython学习教程_Java入门教程
  6. 借iPhone12热销势头,苹果将推更便宜的手机压制安卓手机
  7. 固态硬盘母盘制作 linux,关于UOS母盘制作问题。
  8. 双十一还在线上购物?线下实体店数字化转型带来新机遇
  9. java后台接收json数据
  10. 如何在Mac上使用Kigo Netflix Video Downloader从Netflix 下载视频?