判断广播是否已注册

简介:
在做Android项目时,有时候需要知道某个BroadcastReceiver是否已经注册,从而决定是发送广播让Receiver处理,还是通过其他方式处理。
那么,如何判断某个广播接收者BroadcReceiver是否已经注册了呢?

PackageManager 类中提供了 List<ResolveInfo> queryBroadcastReceivers(Intent intent, int flags) 方法来查询Intent对应的所有广播接收者。

使用举例:
    Intent intent = new Intent();
    intent.setAction("com.xxx.powersaving.INSTALLAPP");
    intent.putExtra("path", apkPath);  
    PackageManager pm = context.getPackageManager();
    List<ResolveInfo> resolveInfos = pm.queryBroadcastReceivers(intent, 0);
    if(resolveInfos != null && !resolveInfos.isEmpty()){
        //查询到相应的BroadcastReceiver
    }  


    本文转自 一点点征服   博客园博客,原文链接: http://www.cnblogs.com/ldq2016/p/6955679.html ,如需转载请自行联系原作者

相关文章
|
5月前
|
JavaScript 前端开发
在页面中监听多个广播通道
使用 JavaScript 的 `BroadcastChannel` 可以监听多个广播通道。示例展示了如何创建并处理两个通道&quot;channel1&quot;和&quot;channel2&quot;的事件。每个通道都有独立的`onmessage`事件处理程序,接收到消息时会在控制台打印。可以按需创建多个通道,并在不再需要时调用`channel.close()`关闭以释放资源。
|
5月前
|
Java Android开发
Broadcast的注册、发送和接收过程
Broadcast的注册、发送和接收过程
41 0
|
12月前
|
消息中间件 定位技术 调度
《移动互联网技术》第八章 消息与服务:掌握不同类型广播监听方式,以及创建通知的方法
《移动互联网技术》第八章 消息与服务:掌握不同类型广播监听方式,以及创建通知的方法
36 0
|
Java 开发工具 Android开发
全局事件-广播(Broadcast)
全局事件-广播(Broadcast)
77 0
|
移动开发 网络协议 测试技术
服务器循环接收客户端消息|学习笔记
快速学习服务器循环接收客户端消息
服务器循环接收客户端消息|学习笔记
|
存储 IDE 开发工具
CAN通信配置过滤器和使用三个邮箱发送
CAN通信配置过滤器和使用三个邮箱发送
827 0
|
存储 消息中间件 Android开发
Android源码分析--广播的注册、发送和接收
Android源码分析--广播的注册、发送和接收
283 0
Android源码分析--广播的注册、发送和接收
【EventBus】事件通信框架 ( 订阅方法注册 | 注册 事件类型 - 订阅类 + 订阅方法 到指定集合 | 取消注册 数据准备 )
【EventBus】事件通信框架 ( 订阅方法注册 | 注册 事件类型 - 订阅类 + 订阅方法 到指定集合 | 取消注册 数据准备 )
120 0
|
Java API 开发工具
测试离线消息的接收以及回调的注册
1. 离线消息接收需要哪些条件. 2. 为什么有时候离线消息不能进全局回调.
316 0
测试离线消息的接收以及回调的注册