标签:broadcastreceiver interface filter 广播
/** * 发送广播简易工具类 * 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); } }
标签:broadcastreceiver interface filter 广播
原文地址:http://blog.csdn.net/pengkv/article/details/45171207