rx receivers
发布日期:2021-06-29 15:25:23
浏览次数:3
分类:技术文章
本文共 1430 字,大约阅读时间需要 4 分钟。
使用:
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
转载地址:https://codegg.blog.csdn.net/article/details/51366156 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月02日 19时02分50秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
maven 安装第三方jar包到本地仓库
2019-04-29
hbase数据结构模型
2019-04-29
Shell编程:return 返回脚本调用的状态码
2019-04-29
Hbase Shell 调用java代码:通过比较器,强过滤查询
2019-04-29
Linux防删除,恢复删除
2019-04-29
linux: shell脚本日常功夫
2019-04-29
linux脚本: 批量管理主机
2019-04-29
scala集合类型,函数
2019-04-29
spark: rdd的应用(scala api)
2019-04-29
spark: rdd的应用(java api)
2019-04-29
yarn: 资源调度机制
2019-04-29
spark的shell脚本分析
2019-04-29
推荐算法: 基于用户的协同过滤算法
2019-04-29
推荐算法:基于物品的协同过滤算法
2019-04-29
docker系列3:docker搭建CDH集群[单机单节点]
2019-04-29
ubuntu 16:使用系统自带的中文输入法
2019-04-29
k8s单机版[ microk8s ]
2019-04-29
docker系列6 :k8s集群[ 解压安装 ]
2019-04-29
maven- idea: 打包可执行jar
2019-04-29
docker系列2: windows安装docker
2019-04-29