rx receivers
使用:
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相关推荐
- Ryzen 4000 Vermeer CPU和Radeon RX Big Navi 图形卡
Ryzen 4000'Vermeer' CPU和Radeon RX'Big Navi'图形卡 来自中国媒体的多篇报道表明,AMD都准备在2020年第四季度初推出其下一代Ryzen 4000'Zen 3 ...
- LTE PUCCH F2 TX/RX汇总
TX TX端的公式如下(下图来自sharetechnote): 发送端在36.212/36.211中有详细的描述,就是一系列的数学运算,过程概括如下: 编码.加扰.调制的过程暂不介绍,主要介绍下上图中 ...
- 双显卡单独分辨率_CPU、GPU双重碾压!AMD RX 6000系列显卡正式发布 16G显存吊锤RTX 30...
期待已久的AMD新一代显卡终于发布了,全新Radeon RX 6000系列显卡正式登场,首批包括RX 6800.RX 6800 XT.RX 6900 XT三款型号,均基于RDNA 2架构.Navi 2 ...
- (札记)Altera Stratix IV系列FPGA TRUE LVDS RX input termination 在Quartus工程中的设置方法...
Altera Stratix IV系列FPGA Row bank的TRUE LVDS_RX支持oct(on chip termination),所以设计的时候不需要外接一个100ohm电阻.备注:我使 ...
- 因特尔显卡自定义分辨率_蓝宝石RX 5600XT 6G D6 白金版OC显卡评测:两千价位段好选择...
对于大多数玩家而言,一款心仪的显卡可能不需要夸张的包装和华丽的外观,更重要的是实惠的价格和强劲的性能.AMD Radeon RX 5600XT,正是一款专为主流游戏玩家设计的诚意之作,不仅能够满足各大 ...
- Reactive Extensions(Rx) 学习
Bruce Eckel(著有多部编程书籍)和Jonas Boner(Akka的缔造者和Typesafe的CTO)发表了"反应性宣言",在其中尝试着定义什么是反应性应用. 这样的应用 ...
- GT Transceiver的复位与初始化(4)RX初始化和复位流程
RX初始化与复位 GTX/GTH收发器RX使用一个复位状态机来控制复位过程.由于其复杂性,GTX/GTH收发器RX被划分为比GTX/GTH收发器TX更多的复位区域.如图所示,该分区允许RX的初始化和复 ...
- BEGINNING SHAREPOINT#174; 2013 DEVELOPMENT 第12章节--SP 2013中远程Event Receivers 总结
BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第12章节--SP 2013中远程Event Receivers 总结 本章节向你介绍了SP平台上event recei ...
- 比英伟达便宜4000元、功耗更低、游戏性能相同,AMD发布RX 6900 XT旗舰显卡
晓查 发自 凹非寺 量子位 报道 | 公众号 QbitAI AMD全新Radeon RX 6000系列显卡来了! 今天凌晨,苏妈携RX 6800.RX 6800 XT.RX 6900 XT三款新显卡 ...
最新文章
- CentOS 7.5 如何升级Git实录
- Intel不争气,7nm再延后两年将彻底落败
- Arduino总结一
- shiro框架,自定义realm注入service失败解决办法
- python系统编程模块_Python系统进程管理模块
- glusterfs分布式文件系统初探
- java游戏代码_Java与Kotlin系列文章之性能问题详解
- pdf文档怎么删除内容页面
- redis主从故障自动切换IP漂移
- python字符个数_python统计字符个数
- 三险一金包括什么?三险和五险有什么区别?
- 快速编写HTML代码常用的方法
- 阿里云“无影”云电脑,究竟是不是桌面云?!
- 面试官和你闲聊,该如何应对?
- DRE-SLAM论文笔记
- 2019年1月8日个人总结
- 智能剪辑系统爆款生成器--移动端(小程序)手机版
- python爬虫(1)电影
- iOS:如何在xcode设置app图标打包项目ipa
- 在Tomcat中添加支持3GP/MP4格式文件的下载