LocalBroadCast管理

如果不太清楚LocalBroadCast可以看下别的作者写的关于LocalBroadCast的介绍

http://blog.csdn.net/plussoft/article/details/12971265


public class BroadcastCenter
{
    private LocalBroadcastManager mLocalBroadcast;

    private List<BroadcastReceiver> broadcastReceiverList = new ArrayList<BroadcastReceiver>();
    
    private static BroadcastCenter singleBroadcast = new BroadcastCenter();

    public static BroadcastCenter getInstance()
    {
        return singleBroadcast;
    }
    
    public boolean init(Context context)
    {
        LogN.d(this, "init | Enter");
        
        if(null == context)
        {
            LogN.e(this, "init | context is null");
            return false;
        }
        
        mLocalBroadcast = LocalBroadcastManager.getInstance(context);
        
        if(null == mLocalBroadcast)
        {
            LogN.e(this, "init | mLocalBroadcast is null");
            return false;
        }
        
        LogN.d(this, "init | Leave");
        return true;
    }

    public void broadcast(Intent intent)
    {
        if (null == mLocalBroadcast)
        {
            LogN.e(this, "broadcast | mLocalBroadcast is null");
            return;
        }

        mLocalBroadcast.sendBroadcast(intent);
        LogN.d(this, "broadcast | sendBroadcast finished");
    }

    public void registerReceiver(BroadcastReceiver br, String action)
    {
        if(null == br || null == action || null == mLocalBroadcast)
        {
            LogN.e(this, "registerReceiver | param is null or mLocalBroadcast is null");
            return;
        }
        
        IntentFilter iFilter = new IntentFilter();
        iFilter.addAction(action);
        
        mLocalBroadcast.registerReceiver(br, iFilter);
        broadcastReceiverList.add(br);
    }
    
    public void unregisterReceiver(BroadcastReceiver br)
    {
        if(null == br || null == mLocalBroadcast)
        {
            LogN.e(this, "unregisterReceiver | param is null or mLocalBroadcast is null");
            return;
        }
        
        mLocalBroadcast.unregisterReceiver(br);
        broadcastReceiverList.remove(br);
    }
    
    public void unregisterAllReceiver()
    {
        if(null == mLocalBroadcast)
        {
            LogN.e(this, "unregisterAllReceiver | mLocalBroadcast is null");
            return;
        }
        
        for(BroadcastReceiver tempBr : broadcastReceiverList)
        {
            mLocalBroadcast.unregisterReceiver(tempBr);
        }
        broadcastReceiverList.clear();
    }
}



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值