美文网首页
Android动态广播的使用

Android动态广播的使用

作者: 程序猿峰岑 | 来源:发表于2018-11-05 09:59 被阅读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);

     

      

    相关文章

      网友评论

          本文标题:Android动态广播的使用

          本文链接:https://www.haomeiwen.com/subject/fumjxqtx.html