Android动态广播的使用

2018-11-05  本文已影响0人  程序猿峰岑

        说到Android的广播,分为动态广播和静态广播两种。这篇文章主要讲解下Android的动态广播。广播的作用主要是根据数据的变化及时刷新UI效果。现如今由于EventBus的出现很少使用广播了,但学习还是有必要的 。

      动态广播的步骤

       1 .自定义广播继承BroadcastReceiver 实现OnReceiver方法 方法主要是对UI进行刷新的操作 ,方法中有两个参数上下文context 和intent,这里主要是对intent进行筛选intent.getAction

       2.注册广播registerReceiver(myReceiver) 一般是在onCreate注册 ,当Activity或者Fragment销毁的时候应该销毁该广播u'ngisterReceiver(myReceiver)

       3.sendReceiver(intent)改变数据的操作

     实例:

   以我们项目中的PersonPickerReceiver为例来讲解下

第一步:

private class PersonPickerRecevierextends BroadcastReceiver { 

@Override

  public void onReceive(Context context, Intent intent) {

// TODO Auto-generated method stub

      String action = intent.getAction();

      if (action.equals("android.guestcount.choice.action")) {

            //数据处理逻辑

      }else if (action.equals("android.setStatus.action")) {

        //数据处理逻辑

    }

}

第二步:注册广播     IntentFilter过滤

   IntentFilter filter =new IntentFilter();

   filter.addAction("android.guestcount.choice.action");

   filter.addAction("android.setStatus.action");

  registerReceiver(recevier, filter);

销毁广播

@Override       

protected void onDestroy() {

super.onDestroy();

  unregisterReceiver(recevier);

}

第三步:数据改变的操作

Intent intent =new Intent();

intent.setAction("android.guestcount.choice.action");

context.sendBroadcast(intent);

 

  

上一篇 下一篇

猜你喜欢

热点阅读