使用:

RxBroadcastReceiver.create(context, new IntentFilter(WifiManager.WIFI_STATE_CHANGED_ACTION)).subscribe((Action1) (intent) -> { textView.setText(intent.toString()); });

或者一些内部实现的方法

RxTelephonyManager.phoneStateChanges(context).subscribe();
RxWifiManager.wifiStateChanges(context).subscribe();
RxWifiManager.networkStateChanges(context).subscribe();
RxWifiManager.supplicantConnectionChanges(context).subscribe();
RxWifiManager.supplicantStateChanges(context).subscribe();

原理说明:

非常简单,自定义创建了一个观测者即可。

public final class RxBroadcastReceiver {
  private RxBroadcastReceiver() {
    throw new AssertionError("no instances");
  }

/** TODO: docs. */
  @CheckResult @NonNull //
  public static Observable<Intent> create(@NonNull final Context context,
      @NonNull final IntentFilter intentFilter) {
    checkNotNull(context, "context == null");
    checkNotNull(intentFilter, "intentFilter == null");
    return Observable.create(new Observable.OnSubscribe<Intent>() {
      @Override public void call(final Subscriber<? super Intent> subscriber) {
        final BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
          @Override public void onReceive(Context context, Intent intent) {
            subscriber.onNext(intent);
          }
        };

context.registerReceiver(broadcastReceiver, intentFilter);

subscriber.add(Subscriptions.create(new Action0() {
          @Override public void call() {
            context.unregisterReceiver(broadcastReceiver);
          }
        }));
      }
    });
  }
}

官网地址:

https://github.com/luxiaoming/rx-receivers

rx receivers相关推荐

  1. Ryzen 4000 Vermeer CPU和Radeon RX Big Navi 图形卡

    Ryzen 4000'Vermeer' CPU和Radeon RX'Big Navi'图形卡 来自中国媒体的多篇报道表明,AMD都准备在2020年第四季度初推出其下一代Ryzen 4000'Zen 3 ...

  2. LTE PUCCH F2 TX/RX汇总

    TX TX端的公式如下(下图来自sharetechnote): 发送端在36.212/36.211中有详细的描述,就是一系列的数学运算,过程概括如下: 编码.加扰.调制的过程暂不介绍,主要介绍下上图中 ...

  3. 双显卡单独分辨率_CPU、GPU双重碾压!AMD RX 6000系列显卡正式发布 16G显存吊锤RTX 30...

    期待已久的AMD新一代显卡终于发布了,全新Radeon RX 6000系列显卡正式登场,首批包括RX 6800.RX 6800 XT.RX 6900 XT三款型号,均基于RDNA 2架构.Navi 2 ...

  4. (札记)Altera Stratix IV系列FPGA TRUE LVDS RX input termination 在Quartus工程中的设置方法...

    Altera Stratix IV系列FPGA Row bank的TRUE LVDS_RX支持oct(on chip termination),所以设计的时候不需要外接一个100ohm电阻.备注:我使 ...

  5. 因特尔显卡自定义分辨率_蓝宝石RX 5600XT 6G D6 白金版OC显卡评测:两千价位段好选择...

    对于大多数玩家而言,一款心仪的显卡可能不需要夸张的包装和华丽的外观,更重要的是实惠的价格和强劲的性能.AMD Radeon RX 5600XT,正是一款专为主流游戏玩家设计的诚意之作,不仅能够满足各大 ...

  6. Reactive Extensions(Rx) 学习

    Bruce Eckel(著有多部编程书籍)和Jonas Boner(Akka的缔造者和Typesafe的CTO)发表了"反应性宣言",在其中尝试着定义什么是反应性应用. 这样的应用 ...

  7. GT Transceiver的复位与初始化(4)RX初始化和复位流程

    RX初始化与复位 GTX/GTH收发器RX使用一个复位状态机来控制复位过程.由于其复杂性,GTX/GTH收发器RX被划分为比GTX/GTH收发器TX更多的复位区域.如图所示,该分区允许RX的初始化和复 ...

  8. BEGINNING SHAREPOINT#174; 2013 DEVELOPMENT 第12章节--SP 2013中远程Event Receivers 总结

    BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第12章节--SP 2013中远程Event Receivers  总结 本章节向你介绍了SP平台上event recei ...

  9. 比英伟达便宜4000元、功耗更低、游戏性能相同,AMD发布RX 6900 XT旗舰显卡

    晓查 发自 凹非寺  量子位 报道 | 公众号 QbitAI AMD全新Radeon RX 6000系列显卡来了! 今天凌晨,苏妈携RX 6800.RX 6800 XT.RX 6900 XT三款新显卡 ...

最新文章

  1. CentOS 7.5 如何升级Git实录
  2. Intel不争气,7nm再延后两年将彻底落败
  3. Arduino总结一
  4. shiro框架,自定义realm注入service失败解决办法
  5. python系统编程模块_Python系统进程管理模块
  6. glusterfs分布式文件系统初探
  7. java游戏代码_Java与Kotlin系列文章之性能问题详解
  8. pdf文档怎么删除内容页面
  9. redis主从故障自动切换IP漂移
  10. python字符个数_python统计字符个数
  11. 三险一金包括什么?三险和五险有什么区别?
  12. 快速编写HTML代码常用的方法
  13. 阿里云“无影”云电脑,究竟是不是桌面云?!
  14. 面试官和你闲聊,该如何应对?
  15. DRE-SLAM论文笔记
  16. 2019年1月8日个人总结
  17. 智能剪辑系统爆款生成器--移动端(小程序)手机版
  18. python爬虫(1)电影
  19. iOS:如何在xcode设置app图标打包项目ipa
  20. 在Tomcat中添加支持3GP/MP4格式文件的下载

热门文章

  1. Python爬取Post请求
  2. js的DOM节点操作:创建 ,插入,删除,复制,查找节点
  3. C语言指针理解patr1
  4. 装机步骤,顺序,注意事项
  5. poi的word页眉加图片且上下文环绕
  6. 服务器改电脑性能,旧电脑改家庭云服务器性能+创新!一体电脑如何变身家庭云中心...
  7. 编译原理php,PHP8.0新特性:JIT即时编译
  8. ping命令加时间显示
  9. 热敏打印机不能连续打印问题解决方案
  10. Armbian 20.10 Buster使用rtl8188eu网卡