本篇文章主要介绍了" BroadCastReceiver的基本使用方法",主要涉及到方面的内容,对于Android开发感兴趣的同学可以参考一下:
今天读了《第一行代码》并复习了一下广播机制,在这里做一个总结。
广播从类型上可以分为有序广播和标准广播两大类,从方法上分为静态注册的广播和动态注册的广播。在A...
今天读了《第一行代码》并复习了一下广播机制,在这里做一个总结。
广播从类型上可以分为有序广播和标准广播两大类,从方法上分为静态注册的广播和动态注册的广播。在Android中,广播是跨进程的,因此在进程间传输数据时候,可能会泄露安全信息。因此在广播中还提供了本地广播(LocalBroadCastReceiver)来进行广播的安全管理。
因此,该文章就从静态注册广播、动态注册广播、自定义广播、本地广播四类来详细讲解BroadCastReceiver的用法。
动态注册广播
详细步骤:
1、写一个内部类继承自BroadCastReceiver类,并且实现onReceive方法。(广播接收器的实现)
classNetChangeBroadCastextendsBroadcastReceiver{ @Override
publicvoid onReceive(Context context, Intent intent) {
Toast.makeText(MainActivity.this,NetWorkUtil.getWorkType(context),Toast.LENGTH_SHORT).show();
}
}
2、在Activity中定义一个监听网络变化的系统广播调用registerReceiver方法即可。
监听网络变化,因此要在AndroidMenifest.xml中添加网络权限
<uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"/>
privatevoidinitBroadCast() {
intentFilter = new IntentFilter("android.net.conn.CONNECTIVITY_CHANGE");
netChangeBroadCast = new NetChangeBroadCast();
registerReceiver(netChangeBroadCast,intentFilter);
}
3、当activity销毁的时候,在onDestroy中调用UnregisterReceiver方法。
@OverrideprotectedvoidonDestroy() {
super.onDestroy();
unregisterReceiver(netChangeBroadCast);
}
动态注册广播,只有在程序启动之后才能够启动广播。
静态注册广播
详细步骤
1、创建一个BootBroadCastReceiver继承自BroadCastReceiver实现onReceive方法。