android广播机制BroadCastReceiver解析
来源:互联网 发布:网络言情小说女作家 编辑:程序博客网 时间:2024/05/13 06:42
1.BroadCastReceiver之场景还原
近些日子,项目中涉及到了许多广播,有监听自定义广播,还有监听系统级广播;广播机制在android中十分重要,今天趁有时间,给大家解析一下BroadCastReceiver的用法。
2.BroadCastReceiver的具体用法
一般要使用广播,第一必须自定义一个广播类,并且继承BroadCastReceiver,并且还需要重写onReceive()方法;当广播接受到信号后,立即回调onReceive()重载方法;一般分为两种形式的注册:
①静态注册(Mainfest中注册)
1.1自定义BroadCastReceiver
public class AnotherReceiver extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent) { Toast.makeText(context,"被点击了",Toast.LENGTH_SHORT).show(); }}
1.2在manifest中注册
<receiver android:name=".AnotherReceiver"> <intent-filter> <action android:name="android.com.zhangxing"/> </intent-filter></receiver>1.3在代码中发送“相同频率“的广播
public void sendBroad(View v){ Intent intent = new Intent(); intent.setAction("android.com.zhangxing"); sendBroadcast(intent);}
ok,这样静态注册就完成了!
②动态注册(一般监听系统级的广播:网络,电量等)
2.1自定义BroadCastReceiver
public class NetworkChangeReceiver extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent) { ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo(); if(networkInfo != null && networkInfo.isAvailable()){ Toast.makeText(context,"网络可用",Toast.LENGTH_SHORT).show(); }else{ Toast.makeText(context,"网络不可用",Toast.LENGTH_SHORT).show(); } }}2.2设置监听的action
//动态注册广播IntentFilter intentFilter = new IntentFilter();intentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE");2.3注册广播
receiver = new NetworkChangeReceiver();registerReceiver(receiver,intentFilter);2.4最后,别忘了在onDestory()解绑广播
@Overrideprotected void onDestroy() { super.onDestroy(); unregisterReceiver(receiver);}这个在动态注册广播时,千万别忘了,否则会出现OOM.
好了,又该告一段落了;在实战中学习,在实战中精进,我是张星,欢迎您的关注!
1 0
- android广播机制BroadCastReceiver解析
- Android广播机制(BroadcastReceiver)
- Android广播机制 BroadCastReceiver
- Android广播机制-BroadcastReceiver
- Android 广播机制 BroadCastReceiver
- Android -BroadcastReceiver广播机制
- android---broadcastReceiver广播机制
- Android广播机制,BroadcastReceiver
- Android广播接收机制(BroadcastReceiver)
- Android广播接收机制(BroadcastReceiver)
- Android广播接收机制(BroadcastReceiver)
- [Android随笔]BroadcastReceiver广播机制
- BroadcastReceiver Android的广播解析
- android 广播机制Broadcast、BroadcastReceiver用法解读
- Android学习之广播机制BroadcastReceiver
- Android 四大组件之一:BroadcastReceiver广播机制
- Android简单实现BroadCastReceiver广播机制
- Android --- 广播机制(BroadcastReceiver应用)
- Odoo的ir.values
- 【C++】 C++标准模板库(六) Queue
- Python学习笔记
- 一边搭建一边理解MongoDB副本集(副本集中的角色-下)
- 欧拉计划 51
- android广播机制BroadCastReceiver解析
- CIFAR-10的Matlab可视化与转化
- 地址已经被使用——Address already in use(纠正《后台开发:核心技术于应用实践》书中的错误)
- 从Vim小白到Vim superstar
- Codeforces Round #387(div.2) 17-1-6
- plsql和oracle11g 关联
- 从BAT看你需要的技术栈
- 欧拉计划 52
- 【考研】东北大学二叉树相关算法(1)