Android 发送广播简易工具类

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用
    /** 
     * 发送广播简易工具类 
     * Created by Liam on 2015/4/2. 
     */  
    public class BroadcastUtil {  
      
        /** 
         * 构造函数设为private,防止外部实例化 
         */  
        private void BroadcastManager() {  
        }  
      
        /** 
         * 注册广播接收器 
         * 
         * @param ctx       Context(不可空) 
         * @param iReceiver IReceiver(不可空) 
         * @param action    Intent.Action(不可空) 
         */  
        public static void registerReceiver(Context ctx, final IReceiver iReceiver, final String action) {  
            if (ctx == null || iReceiver == null || action == null) throw new IllegalArgumentException("使用registerReceiver()注册广播时,参数Context、IReceiver和Action不能为空!");  
      
            BroadcastReceiver receiver = new BroadcastReceiver() {  
                @Override  
                public void onReceive(Context context, Intent intent) {  
                    iReceiver.onReceive(context, intent);  
                }  
            };  
            IntentFilter filter = new IntentFilter(action);  
            ctx.registerReceiver(receiver, filter);  
        }  
      
        /** 
         * 发送广播 
         * 
         * @param ctx    Context(不可空) 
         * @param i      Intent(可为null),不需要设置Action,请把Action作为参数传入 
         * @param action Intent.Action(不可空) 
         */  
        public static void send(Context ctx, Intent i, final String action) {  
            if (ctx == null || action == null) throw new IllegalArgumentException("使用send()发送广播时,参数Context和Action不能为空!");  
      
            if (i == null) i = new Intent();  
            i.setAction(action);  
            ctx.sendBroadcast(i);  
        }  
      
      
        /** 
         * 接收广播的页面需要实现,把接收后的操作覆写在OnReceive()方法里 
         */  
        public interface IReceiver {  
            void onReceive(Context ctx, Intent intent);  
        }  
      
    }  

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:C#自定义字符串压缩和解压缩代码库

下一篇:C#折半插入排序算法