第一行代码 广播机制Broadcast Receiver 学习笔记
2018-03-03 11:39
507 查看
1、广播机制简介
广播分为两种:标准广播 有序广播1)标准广播 就是发出一条消息 所有广播接受者都可以收到。
2)有序广播 就是发出一条广播 广播接收者按照优先级排序接收,并且可以在传播过程中被撤销。
2、举个实例动态注册监听网络变化
广播接收器可以对自己感兴趣的广播进行注册,这样有广播发出时,就能够收到该广播。注册广播有两种:动态注册,静态注册。
public class MainActivity extends AppCompatActivity { private IntentFilter intentFilter; private NetworkChangeReceiver networkChangeReceiver; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); intentFilter = new IntentFilter(); intentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE"); networkChangeReceiver = new NetworkChangeReceiver(); registerReceiver(networkChangeReceiver, intentFilter); } @Override protected void onDestroy() { super.onDestroy(); unregisterReceiver(networkChangeReceiver); } class NetworkChangeReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Toast.makeText(context, "received local broadcast", Toast.LENGTH_SHORT).show(); } } }
我们可以看到MainActivity 定义了一个内部类 NetworkChangeReceiver,这个类是继承BroadcastReceiver,并重写父类的onreceiver方法。每当网络发生变化时,onReceiver()方法就会得到执行。
然后观察onCreat()方法。首先我们创建了一个IntentFilter实例,并且给它添加了一个值为android.net.com.CONNECTIVITY_CHANGE 的action。添加这一个action ,是因为当网络状态发生改变时,发出的就是这个广播。
接下来创建一个NetworkChangeReceiver实例,然后调用 registerReceiver()方法进行注册,将NetworkChangeReceiver 的实例和IntentFilter的实例都传进去。这样就NetworkChangeReceiver就能收到网络变化的广播。
文献参考:
第一行代码 Android 第二版 郭霖
本人郑重声明,本博客所著文章、图片版权归权利人持有,本博只做学习交流分享所用,不做任何商业用途。访问者可將本博提供的內容或服务用于个人学习、研究或欣赏,不得用于商业使用。同時,访问者应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人的合法权利;如果用于商业用途,须征得相关权利人的书面授权。若以上文章、图片的原作者不愿意在此展示內容,请及时通知在下,將及时予以刪除。
相关文章推荐
- 广播机制(Broadcast Receiver)——第一行代码阅读笔记
- 广播机制(Broadcast Receiver)——第一行代码阅读笔记
- 第一行代码笔记 广播机制 broadcast
- Android(java)学习笔记178:BroadcastReceiver之 自定义广播
- Android第一行代码学习笔记三----广播
- Android第一行代码 第二版学习笔记--广播
- 第一行代码笔记,第五章-----详解广播机制
- Android(java)学习笔记175:BroadcastReceiver之 外拨电话的广播接收者
- Android(java)学习笔记176:BroadcastReceiver之 短信发送的广播接收者
- Android(java)学习笔记177:BroadcastReceiver之 应用程序安装和卸载 的广播接收者
- Android之BroadcastReceiver(接收广播消息)学习笔记(一)
- Android(java)学习笔记179:BroadcastReceiver之 有序广播和无序广播(BroadcastReceiver优先级)
- Broadcast广播机制--学习笔记
- Androidc学习笔记三之BroadcastReceiver广播接收器及单双页模式
- 第二行代码学习笔记——第五章:全局大喇叭——详解广播机制
- Android系统中的广播(Broadcast)机制简要介绍和学习计划
- 第一行代码学习笔记1——Android简介
- Android系统中的广播(Broadcast)机制简要介绍和学习计划
- (第一行代码笔记系列-广播3)本地广播
- 《第一行代码--Android》学习笔记--第一章:开始起航:思路